(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PROGRAM) op:Equal rhs:{(ltmain.sh)} spids:[209])]
      spids: [209]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PACKAGE) op:Equal rhs:{(libtool)} spids:[212])]
      spids: [212]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:VERSION)
          op: Equal
          rhs: {(DQ ('2.2.6b Debian-2.2.6b-2'))}
          spids: [215]
        )
      ]
      spids: [215]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:TIMESTAMP) op:Equal rhs:{(DQ )} spids:[220])]
      spids: [220]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:package_revision) op:Equal rhs:{(1.3017)} spids:[224])]
      spids: [224]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  ops: [Op_DAmp]
                  children: [
                    (C {(test)} {(-n)} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name ZSH_VERSION>
                            suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(set)})
                            spids: [238 242]
                          )
                        )
                      }
                    )
                    (Subshell
                      child: (C {(emulate)} {(sh)})
                      redirects: [
                        (Redir
                          op: <Redir_Great '>'>
                          fd: 16777215
                          arg_word: {(/dev/null)}
                        )
                        (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})
                      ]
                      spids: [247 251]
                    )
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(emulate)} {(sh)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:NULLCMD)
                  op: Equal
                  rhs: {(Lit_Other ':')}
                  spids: [268]
                )
              ]
              spids: [268]
            )
            (C {(alias)} {(-g)} {(SQ <'${1+"$@"}'>) (Lit_Other '=') (SQ <'"$@"'>)})
            (C {(setopt)} {(NO_GLOB_SUBST)})
          ]
          spids: [16777215 260]
        )
      ]
      else_action: [
        (Case
          to_match: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Subshell
                        child: (C {(set)} {(-o)})
                        redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                        spids: [303 307]
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [302 311]
              )
            }
          arms: [
            (case_arm
              pat_list: [{(Lit_Other '*') (posix) (Lit_Other '*')}]
              action: [(C {(set)} {(-o)} {(posix)})]
              spids: [315 318 325 16777215]
            )
          ]
          spids: [300 313 327]
        )
      ]
      spids: [297 329]
    )
    (CommandList
      children: [
        (Sentence
          child: 
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:BIN_SH) op:Equal rhs:{(xpg4)} spids:[331])]
              spids: [331]
            )
          terminator: <Op_Semi ';'>
        )
        (C {(export)} {(BIN_SH)})
      ]
    )
    (CommandList
      children: [
        (Sentence
          child: 
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:DUALCASE) op:Equal rhs:{(1)} spids:[342])]
              spids: [342]
            )
          terminator: <Op_Semi ';'>
        )
        (C {(export)} {(DUALCASE)})
      ]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:lt_user_locale) op:Equal rhs:{(EmptyPart)} spids:[366])]
      spids: [366]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:lt_safe_locale) op:Equal rhs:{(EmptyPart)} spids:[368])]
      spids: [368]
    )
    (ForEach
      iter_name: lt_var
      iter_words: [{(LANG)} {(LANGUAGE)} {(LC_ALL)} {(LC_CTYPE)} {(LC_COLLATE)} {(LC_MESSAGES)}]
      do_arg_iter: F
      body: 
        (DoGroup
          children: [
            (C {(eval)} 
              {
                (DQ ('if test ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{') ($ VSub_Name '$lt_var') ('+set}') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (' = set; then\n') ('          save_') ($ VSub_Name '$lt_var') ('=') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                  ($ VSub_Name '$lt_var') ('\n') ('          ') ($ VSub_Name '$lt_var') ('=C\n') ('\t  export ') ($ VSub_Name '$lt_var') ('\n') 
                  ('\t  lt_user_locale=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$lt_var') ('=') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (save_) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('lt_var; ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (lt_user_locale) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('\t  lt_safe_locale=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  ($ VSub_Name '$lt_var') ('=C; ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (lt_safe_locale) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('\tfi')
                )
              }
            )
          ]
          spids: [388 438]
        )
      spids: [375 16777215]
    )
    (C {($ VSub_Name '$lt_unset')} {(CDPATH)})
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name CP>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ('cp -f'))})
          spids: [452 458]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name ECHO>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (echo))})
          spids: [462 468]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name EGREP>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ('/bin/grep -E'))})
          spids: [472 478]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name FGREP>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ('/bin/grep -F'))})
          spids: [482 488]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name GREP>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (/bin/grep))})
          spids: [492 498]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name LN_S>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ('ln -s'))})
          spids: [502 508]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name MAKE>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (make))})
          spids: [512 518]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name MKDIR>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (mkdir))})
          spids: [522 528]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name MV>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ('mv -f'))})
          spids: [532 538]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name RM>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ('rm -f'))})
          spids: [542 548]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name SED>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (/bin/sed))})
          spids: [552 558]
        )
      }
    )
    (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: [566 573]
                    )
                  )
                }
            )
          spids: [562 575]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name Xsed>
          suffix_op: 
            (StringUnary
              op_id: VTest_Equals
              arg_word: {(DQ ($ VSub_Name '$SED') (' -e 1s/^X//'))}
            )
          spids: [579 586]
        )
      }
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_SUCCESS) op:Equal rhs:{(0)} spids:[592])]
      spids: [592]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_FAILURE) op:Equal rhs:{(1)} spids:[595])]
      spids: [595]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_MISMATCH) op:Equal rhs:{(63)} spids:[598])]
      spids: [598]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_SKIP) op:Equal rhs:{(77)} spids:[604])]
      spids: [604]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:exit_status)
          op: Equal
          rhs: {($ VSub_Name '$EXIT_SUCCESS')}
          spids: [611]
        )
      ]
      spids: [611]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:lt_nl) op:Equal rhs:{(SQ <'\n'>)} spids:[618])]
      spids: [618]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:IFS)
          op: Equal
          rhs: {(DQ (' \t') ($ VSub_Name '$lt_nl'))}
          spids: [623]
        )
      ]
      spids: [623]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:dirname)
          op: Equal
          rhs: {(DQ ('s,/[^/]*') (Lit_Other '$') (',,'))}
          spids: [630]
        )
      ]
      spids: [630]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:basename) op:Equal rhs:{(DQ ('s,^.*/,,'))} spids:[637])]
      spids: [637]
    )
    (FuncDef
      name: func_dirname_and_basename
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_dirname_result)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {($ VSub_Name '$ECHO')} {(DQ (X) (${ VSub_Number 1))})
                                  (C {($ VSub_Name '$Xsed')} {(-e)} {(DQ ($ VSub_Name '$dirname'))})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [692 711]
                      )
                    }
                  spids: [691]
                )
              ]
              spids: [691]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ (X) ($ VSub_Name '$func_dirname_result'))} {(Lit_Other '=')} 
                          {(DQ (X) (${ VSub_Number 1))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_dirname_result)
                          op: Equal
                          rhs: {(DQ (${ VSub_Number 3))}
                          spids: [736]
                        )
                      ]
                      spids: [736]
                    )
                  ]
                  spids: [16777215 733]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:func_dirname_result)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name '$func_dirname_result') (${ VSub_Number 2))}
                      spids: [747]
                    )
                  ]
                  spids: [747]
                )
              ]
              spids: [744 756]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_basename_result)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {($ VSub_Name '$ECHO')} {(DQ (X) (${ VSub_Number 1))})
                                  (C {($ VSub_Name '$Xsed')} {(-e)} {(DQ ($ VSub_Name '$basename'))})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [760 779]
                      )
                    }
                  spids: [759]
                )
              ]
              spids: [759]
            )
          ]
          spids: [684]
        )
      spids: [679 683]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:progpath)
          op: Equal
          rhs: {(DQ ($ VSub_Number '$0'))}
          spids: [803]
        )
      ]
      spids: [803]
    )
    (C {(func_dirname_and_basename)} {(DQ ($ VSub_Name '$progpath'))})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:progname)
          op: Equal
          rhs: {($ VSub_Name '$func_basename_result')}
          spids: [824]
        )
      ]
      spids: [824]
    )
    (Case
      to_match: {($ VSub_Name '$progname')}
      arms: [
        (case_arm
          pat_list: [{(-) (Lit_Other '*')}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:progname)
                  op: Equal
                  rhs: {(./) ($ VSub_Name '$progname')}
                  spids: [838]
                )
              ]
              spids: [838]
            )
          ]
          spids: [834 836 842 16777215]
        )
      ]
      spids: [827 831 844]
    )
    (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: [857 869 871 16777215]
        )
        (case_arm
          pat_list: [
            {(Lit_Other '*') (Lit_Other '[') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (/) 
              (Lit_Other ']') (Lit_Other '*')
            }
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:progdir)
                  op: Equal
                  rhs: {($ VSub_Name '$func_dirname_result')}
                  spids: [883]
                )
              ]
              spids: [883]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:progdir)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (AndOr
                                ops: [Op_DAmp]
                                children: [(C {(cd)} {(DQ ($ VSub_Name '$progdir'))}) (C {(pwd)})]
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [888 898]
                      )
                    }
                  spids: [887]
                )
              ]
              spids: [887]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:progpath)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$progdir') (/) ($ VSub_Name '$progname'))}
                  spids: [901]
                )
              ]
              spids: [901]
            )
          ]
          spids: [874 880 909 16777215]
        )
        (case_arm
          pat_list: [{(Lit_Other '*')}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:save_IFS)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$IFS'))}
                  spids: [916]
                )
              ]
              spids: [916]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(Lit_Other ':')} spids:[922])]
              spids: [922]
            )
            (ForEach
              iter_name: progdir
              iter_words: [{($ VSub_Name '$PATH')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$save_IFS'))}
                          spids: [938]
                        )
                      ]
                      spids: [938]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-x)} {(DQ ($ VSub_Name '$progdir') (/) ($ VSub_Name '$progname'))})
                        (ControlFlow token:<ControlFlow_Break break>)
                      ]
                    )
                  ]
                  spids: [935 959]
                )
              spids: [931 933]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$save_IFS'))}
                  spids: [962]
                )
              ]
              spids: [962]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$progdir'))})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:progdir)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: (CommandList children:[(C {(pwd)})])
                            left_token: <Left_Backtick '`'>
                            spids: [979 981]
                          )
                        }
                      spids: [978]
                    )
                  ]
                  spids: [978]
                )
              ]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:progpath)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$progdir') (/) ($ VSub_Name '$progname'))}
                  spids: [984]
                )
              ]
              spids: [984]
            )
          ]
          spids: [912 913 992 16777215]
        )
      ]
      spids: [850 854 994]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:Xsed)
          op: Equal
          rhs: {(DQ (${ VSub_Name SED)) (SQ <' -e 1s/^X//'>)}
          spids: [1003]
        )
      ]
      spids: [1003]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sed_quote_subst)
          op: Equal
          rhs: {(SQ <'s/\\([`"$\\\\]\\)/\\\\\\1/g'>)}
          spids: [1013]
        )
      ]
      spids: [1013]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:double_quote_subst)
          op: Equal
          rhs: {(SQ <'s/\\(["`\\\\]\\)/\\\\\\1/g'>)}
          spids: [1022]
        )
      ]
      spids: [1022]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:bs) op:Equal rhs:{(SQ <'\\\\'>)} spids:[1043])]
      spids: [1043]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:bs2) op:Equal rhs:{(SQ <'\\\\\\\\'>)} spids:[1048])]
      spids: [1048]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:bs4)
          op: Equal
          rhs: {(SQ <'\\\\\\\\\\\\\\\\'>)}
          spids: [1053]
        )
      ]
      spids: [1053]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:dollar) op:Equal rhs:{(SQ <'\\$'>)} spids:[1058])]
      spids: [1058]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sed_double_backslash)
          op: Equal
          rhs: 
            {
              (DQ ('  s/') ($ VSub_Name '$bs4') ('/&') 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('\n') ('/g\n') ('  s/^') ($ VSub_Name '$bs2') ($ VSub_Name '$dollar') (/) ($ VSub_Name '$bs') ('&/\n') 
                ('  s/') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('([^') ($ VSub_Name '$bs') (']') 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (')') ($ VSub_Name '$bs2') ($ VSub_Name '$dollar') (/) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
                (1) ($ VSub_Name '$bs2') ($ VSub_Name '$bs') ($ VSub_Name '$dollar') ('/g\n') ('  s/') (Lit_Other '\\') (n//g)
              )
            }
          spids: [1063]
        )
      ]
      spids: [1063]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_dry_run) op:Equal rhs:{(false)} spids:[1103])]
      spids: [1103]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_help) op:Equal rhs:{(false)} spids:[1106])]
      spids: [1106]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_quiet) op:Equal rhs:{(false)} spids:[1109])]
      spids: [1109]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_verbose) op:Equal rhs:{(false)} spids:[1112])]
      spids: [1112]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:opt_warning)
          op: Equal
          rhs: {(Lit_Other ':')}
          spids: [1115]
        )
      ]
      spids: [1115]
    )
    (FuncDef
      name: func_echo
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$ECHO')} 
              {
                (DQ ($ VSub_Name '$progname') 
                  (BracedVarSub
                    token: <VSub_Name mode>
                    suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(': ')})
                    spids: [1140 1144]
                  ) ($ VSub_Name '$mode') (': ') ($ VSub_Star '$*')
                )
              }
            )
          ]
          spids: [1133]
        )
      spids: [1128 1132]
    )
    (FuncDef
      name: func_verbose
      body: 
        (BraceGroup
          children: [
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {($ VSub_Name '$opt_verbose')})
                (C {(func_echo)} 
                  {
                    (BracedVarSub
                      token: <VSub_Number 1>
                      suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                      spids: [1173 1179]
                    )
                  }
                )
              ]
            )
            (C {(Lit_Other ':')})
          ]
          spids: [1164]
        )
      spids: [1159 1163]
    )
    (FuncDef
      name: func_error
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [
                {($ VSub_Name '$ECHO')}
                {
                  (DQ ($ VSub_Name '$progname') 
                    (BracedVarSub
                      token: <VSub_Name mode>
                      suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(': ')})
                      spids: [1218 1222]
                    ) ($ VSub_Name '$mode') (': ')
                  ) 
                  (BracedVarSub
                    token: <VSub_Number 1>
                    suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                    spids: [1226 1232]
                  )
                }
              ]
              redirects: [(Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})]
            )
          ]
          spids: [1211]
        )
      spids: [1206 1210]
    )
    (FuncDef
      name: func_warning
      body: 
        (BraceGroup
          children: [
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {($ VSub_Name '$opt_warning')})
                (SimpleCommand
                  words: [
                    {($ VSub_Name '$ECHO')}
                    {
                      (DQ ($ VSub_Name '$progname') 
                        (BracedVarSub
                          token: <VSub_Name mode>
                          suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(': ')})
                          spids: [1262 1266]
                        ) ($ VSub_Name '$mode') (': warning: ')
                      ) 
                      (BracedVarSub
                        token: <VSub_Number 1>
                        suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                        spids: [1270 1276]
                      )
                    }
                  ]
                  redirects: [(Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})]
                )
              ]
            )
            (C {(Lit_Other ':')})
          ]
          spids: [1251]
        )
      spids: [1246 1250]
    )
    (FuncDef
      name: func_fatal_error
      body: 
        (BraceGroup
          children: [
            (C {(func_error)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                  spids: [1308 1314]
                )
              }
            )
            (ControlFlow
              token: <ControlFlow_Exit exit>
              arg_word: {($ VSub_Name '$EXIT_FAILURE')}
            )
          ]
          spids: [1303]
        )
      spids: [1298 1302]
    )
    (FuncDef
      name: func_fatal_help
      body: 
        (BraceGroup
          children: [
            (C {(func_error)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                  spids: [1343 1349]
                )
              }
            )
            (C {(func_fatal_error)} {(DQ ($ VSub_Name '$help'))})
          ]
          spids: [1338]
        )
      spids: [1333 1337]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:help)
          op: Equal
          rhs: 
            {
              (DQ ('Try ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$progname') 
                (" --help' for more information.")
              )
            }
          spids: [1360]
        )
      ]
      spids: [1360]
    )
    (FuncDef
      name: func_grep
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{($ VSub_Name '$GREP')} {(DQ ($ VSub_Number '$1'))} {(DQ ($ VSub_Number '$2'))}]
              redirects: [
                (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})
                (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})
              ]
            )
          ]
          spids: [1384]
        )
      spids: [1379 1383]
    )
    (FuncDef
      name: func_mkdir_p
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_directory_path)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$1'))}
                  spids: [1421]
                )
              ]
              spids: [1421]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_dir_list)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [1427]
                )
              ]
              spids: [1427]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$my_directory_path'))})
                            (C {(test)} {(DQ ($ VSub_Name '$opt_dry_run'))} 
                              {(KW_Bang '!') (Lit_Other '=')} {(DQ (':'))}
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Case
                      to_match: {($ VSub_Name '$my_directory_path')}
                      arms: [
                        (case_arm
                          pat_list: [{(-) (Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:my_directory_path)
                                  op: Equal
                                  rhs: {(DQ (./) ($ VSub_Name '$my_directory_path'))}
                                  spids: [1476]
                                )
                              ]
                              spids: [1476]
                            )
                          ]
                          spids: [1472 1474 1482 16777215]
                        )
                      ]
                      spids: [1465 1469 1485]
                    )
                    (WhileUntil
                      keyword: <KW_While while>
                      cond: [
                        (Sentence
                          child: 
                            (C {(test)} {(KW_Bang '!')} {(-d)} {(DQ ($ VSub_Name '$my_directory_path'))})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:my_dir_list)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$my_directory_path') (':') 
                                        ($ VSub_Name '$my_dir_list')
                                      )
                                    }
                                  spids: [1517]
                                )
                              ]
                              spids: [1517]
                            )
                            (Case
                              to_match: {($ VSub_Name '$my_directory_path')}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (/) (Lit_Other '*')}]
                                  spids: [1536 1539 1541 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                                  spids: [1543 1544 1548 16777215]
                                )
                              ]
                              spids: [1530 1534 1550]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:my_directory_path)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ (X) ($ VSub_Name '$my_directory_path'))}
                                                  )
                                                  (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                    {(DQ ($ VSub_Name '$dirname'))}
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [1559 1576]
                                      )
                                    }
                                  spids: [1558]
                                )
                              ]
                              spids: [1558]
                            )
                          ]
                          spids: [1506 1579]
                        )
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_dir_list)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name '$ECHO')} 
                                            {(DQ (X) ($ VSub_Name '$my_dir_list'))}
                                          )
                                          (C {($ VSub_Name '$Xsed')} {(-e)} {(SQ <'s,:*$,,'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1583 1600]
                              )
                            }
                          spids: [1582]
                        )
                      ]
                      spids: [1582]
                    )
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:save_mkdir_p_IFS)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$IFS'))}
                              spids: [1604]
                            )
                          ]
                          spids: [1604]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {(SQ <':'>)}
                          spids: [1610]
                        )
                      ]
                      spids: [1610]
                    )
                    (ForEach
                      iter_name: my_dir
                      iter_words: [{($ VSub_Name '$my_dir_list')}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$save_mkdir_p_IFS'))}
                                  spids: [1628]
                                )
                              ]
                              spids: [1628]
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (SimpleCommand
                                  words: [{($ VSub_Name '$MKDIR')} {(DQ ($ VSub_Name '$my_dir'))}]
                                  redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                                )
                                (C {(Lit_Other ':')})
                              ]
                            )
                          ]
                          spids: [1625 1660]
                        )
                      spids: [1621 1623]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$save_mkdir_p_IFS'))}
                          spids: [1663]
                        )
                      ]
                      spids: [1663]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(test)} {(-d)} {(DQ ($ VSub_Name '$my_directory_path'))})
                        (C {(func_fatal_error)} 
                          {
                            (DQ ('Failed to create ') 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\`'>
                              ) ($ VSub_Number '$1') ("'")
                            )
                          }
                        )
                      ]
                    )
                  ]
                  spids: [16777215 1457]
                )
              ]
              spids: [16777215 1696]
            )
          ]
          spids: [1418]
        )
      spids: [1413 1417]
    )
    (FuncDef
      name: func_mktempdir
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_template)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name TMPDIR>
                          suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(Lit_Slash /) (tmp)})
                          spids: [1724 1729]
                        ) (/) 
                        (BracedVarSub
                          token: <VSub_Number 1>
                          suffix_op: 
                            (StringUnary
                              op_id: VTest_Hyphen
                              arg_word: {($ VSub_Name '$progname')}
                            )
                          spids: [1731 1735]
                        )
                      )
                    }
                  spids: [1722]
                )
              ]
              spids: [1722]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$opt_dry_run'))} {(Lit_Other '=')} {(DQ (':'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_tmpdir)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name my_template) (-) ($ VSub_Dollar '$$'))}
                          spids: [1762]
                        )
                      ]
                      spids: [1762]
                    )
                  ]
                  spids: [16777215 1755]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:my_tmpdir)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (SimpleCommand
                                    words: [
                                      {(mktemp)}
                                      {(-d)}
                                      {(DQ (${ VSub_Name my_template) (-XXXXXXXX))}
                                    ]
                                    redirects: [
                                      (Redir
                                        op: <Redir_Great '2>'>
                                        fd: 2
                                        arg_word: {(/dev/null)}
                                      )
                                    ]
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [1781 1795]
                          )
                        }
                      spids: [1780]
                    )
                  ]
                  spids: [1780]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: (C {(test)} {(KW_Bang '!')} {(-d)} {(DQ ($ VSub_Name '$my_tmpdir'))})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:my_tmpdir)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (${ VSub_Name my_template) (-) 
                                    (BracedVarSub
                                      token: <VSub_Name RANDOM>
                                      suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(0)})
                                      spids: [1825 1829]
                                    ) ($ VSub_Dollar '$$')
                                  )
                                }
                              spids: [1819]
                            )
                          ]
                          spids: [1819]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:save_mktempdir_umask)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: (CommandList children:[(C {(umask)})])
                                    left_token: <Left_Backtick '`'>
                                    spids: [1836 1838]
                                  )
                                }
                              spids: [1835]
                            )
                          ]
                          spids: [1835]
                        )
                        (C {(umask)} {(0077)})
                        (C {($ VSub_Name '$MKDIR')} {(DQ ($ VSub_Name '$my_tmpdir'))})
                        (C {(umask)} {($ VSub_Name '$save_mktempdir_umask')})
                      ]
                      spids: [16777215 1812]
                    )
                  ]
                  spids: [16777215 1858]
                )
                (AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(test)} {(-d)} {(DQ ($ VSub_Name '$my_tmpdir'))})
                    (C {(func_fatal_error)} 
                      {
                        (DQ ('cannot create temporary directory ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$my_tmpdir') ("'")
                        )
                      }
                    )
                  ]
                )
              ]
              spids: [1772 1888]
            )
            (Pipeline
              children: [
                (C {($ VSub_Name '$ECHO')} {(DQ (X) ($ VSub_Name '$my_tmpdir'))})
                (C {($ VSub_Name '$Xsed')})
              ]
              negated: F
            )
          ]
          spids: [1719]
        )
      spids: [1714 1718]
    )
    (FuncDef
      name: func_quote_for_eval
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {($ VSub_Number '$1')}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (Lit_Other '[') 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (Lit_Other ']') (Lit_Other '*')
                    }
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_quote_for_eval_unquoted_result)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name '$ECHO')} {(DQ (X) ($ VSub_Number '$1'))})
                                          (C {($ VSub_Name '$Xsed')} {(-e)} 
                                            {(DQ ($ VSub_Name '$sed_quote_subst'))}
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1952 1969]
                              )
                            }
                          spids: [1951]
                        )
                      ]
                      spids: [1951]
                    )
                  ]
                  spids: [1940 1948 1971 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_quote_for_eval_unquoted_result)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$1'))}
                          spids: [1978]
                        )
                      ]
                      spids: [1978]
                    )
                  ]
                  spids: [1974 1975 1983 16777215]
                )
              ]
              spids: [1933 1937 1986]
            )
            (Case
              to_match: {($ VSub_Name '$func_quote_for_eval_unquoted_result')}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (Lit_Other '[') 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\['>) (EscapedLiteralPart token:<Lit_EscapedChar '\\~'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\#'>) 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\^'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\&'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\('>) (EscapedLiteralPart token:<Lit_EscapedChar '\\)'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\{'>) 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\}'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\|'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\;'>) 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\<'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\>'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\?'>) 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (EscapedLiteralPart token:<Lit_EscapedChar '\\\t'>) 
                      (Lit_Other ']') (Lit_Other '*')
                    }
                    {(Lit_Other '*') (Lit_Other ']') (Lit_Other '*')}
                    {(DQ )}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_quote_for_eval_result)
                          op: Equal
                          rhs: 
                            {
                              (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                ($ VSub_Name '$func_quote_for_eval_unquoted_result') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                              )
                            }
                          spids: [2049]
                        )
                      ]
                      spids: [2049]
                    )
                  ]
                  spids: [2017 2046 2057 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_quote_for_eval_result)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$func_quote_for_eval_unquoted_result'))}
                          spids: [2064]
                        )
                      ]
                      spids: [2064]
                    )
                  ]
                  spids: [2060 2061 16777215 2070]
                )
              ]
              spids: [1990 1994 2070]
            )
          ]
          spids: [1930]
        )
      spids: [1925 1929]
    )
    (FuncDef
      name: func_quote_for_expand
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {($ VSub_Number '$1')}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (Lit_Other '[') 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                      (Lit_Other ']') (Lit_Other '*')
                    }
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_arg)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name '$ECHO')} {(DQ (X) ($ VSub_Number '$1'))})
                                          (C {($ VSub_Name '$Xsed')} {(-e)} 
                                            {(DQ ($ VSub_Name '$double_quote_subst'))} {(-e)} {(DQ ($ VSub_Name '$sed_double_backslash'))}
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [2111 2136]
                              )
                            }
                          spids: [2110]
                        )
                      ]
                      spids: [2110]
                    )
                  ]
                  spids: [2100 2107 2138 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_arg)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$1'))}
                          spids: [2145]
                        )
                      ]
                      spids: [2145]
                    )
                  ]
                  spids: [2141 2142 2150 16777215]
                )
              ]
              spids: [2093 2097 2153]
            )
            (Case
              to_match: {($ VSub_Name '$my_arg')}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (Lit_Other '[') 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\['>) (EscapedLiteralPart token:<Lit_EscapedChar '\\~'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\#'>) 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\^'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\&'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\('>) (EscapedLiteralPart token:<Lit_EscapedChar '\\)'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\{'>) 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\}'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\|'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\;'>) 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\<'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\>'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\?'>) 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (EscapedLiteralPart token:<Lit_EscapedChar '\\\t'>) 
                      (Lit_Other ']') (Lit_Other '*')
                    }
                    {(Lit_Other '*') (Lit_Other ']') (Lit_Other '*')}
                    {(DQ )}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_arg)
                          op: Equal
                          rhs: 
                            {
                              (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                ($ VSub_Name '$my_arg') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                              )
                            }
                          spids: [2212]
                        )
                      ]
                      spids: [2212]
                    )
                  ]
                  spids: [2180 2209 2220 16777215]
                )
              ]
              spids: [2157 2161 2223]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_quote_for_expand_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$my_arg'))}
                  spids: [2227]
                )
              ]
              spids: [2227]
            )
          ]
          spids: [2090]
        )
      spids: [2085 2089]
    )
    (FuncDef
      name: func_show_eval
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_cmd)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$1'))}
                  spids: [2256]
                )
              ]
              spids: [2256]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_fail_exp)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Number 2>
                          suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(':')})
                          spids: [2264 2268]
                        )
                      )
                    }
                  spids: [2262]
                )
              ]
              spids: [2262]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C 
                  {
                    (BracedVarSub
                      token: <VSub_Name opt_silent>
                      suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(false)})
                      spids: [2273 2277]
                    )
                  }
                )
                (BraceGroup
                  children: [
                    (C {(func_quote_for_expand)} {(DQ ($ VSub_Name '$my_cmd'))})
                    (C {(eval)} {(DQ ('func_echo ') ($ VSub_Name '$func_quote_for_expand_result'))})
                  ]
                  spids: [2281]
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C 
                          {
                            (BracedVarSub
                              token: <VSub_Name opt_dry_run>
                              suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(false)})
                              spids: [2305 2309]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
                  spids: [16777215 2312]
                )
              ]
              else_action: [
                (C {(eval)} {(DQ ($ VSub_Name '$my_cmd'))})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:my_status)
                      op: Equal
                      rhs: {($ VSub_QMark '$?')}
                      spids: [2327]
                    )
                  ]
                  spids: [2327]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: (C {(test)} {(DQ ($ VSub_Name '$my_status'))} {(-eq)} {(0)})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
                      spids: [16777215 2344]
                    )
                  ]
                  else_action: [
                    (C {(eval)} 
                      {
                        (DQ ('(exit ') ($ VSub_Name '$my_status') ('); ') ($ VSub_Name '$my_fail_exp'))
                      }
                    )
                  ]
                  spids: [2349 2362]
                )
              ]
              spids: [2317 2365]
            )
          ]
          spids: [2253]
        )
      spids: [2248 2252]
    )
    (FuncDef
      name: func_show_eval_locale
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_cmd)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$1'))}
                  spids: [2391]
                )
              ]
              spids: [2391]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_fail_exp)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Number 2>
                          suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(':')})
                          spids: [2399 2403]
                        )
                      )
                    }
                  spids: [2397]
                )
              ]
              spids: [2397]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C 
                  {
                    (BracedVarSub
                      token: <VSub_Name opt_silent>
                      suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(false)})
                      spids: [2408 2412]
                    )
                  }
                )
                (BraceGroup
                  children: [
                    (C {(func_quote_for_expand)} {(DQ ($ VSub_Name '$my_cmd'))})
                    (C {(eval)} {(DQ ('func_echo ') ($ VSub_Name '$func_quote_for_expand_result'))})
                  ]
                  spids: [2416]
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C 
                          {
                            (BracedVarSub
                              token: <VSub_Name opt_dry_run>
                              suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(false)})
                              spids: [2440 2444]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
                  spids: [16777215 2447]
                )
              ]
              else_action: [
                (C {(eval)} 
                  {(DQ ($ VSub_Name '$lt_user_locale') ('\n') ('\t    ') ($ VSub_Name '$my_cmd'))}
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:my_status)
                      op: Equal
                      rhs: {($ VSub_QMark '$?')}
                      spids: [2465]
                    )
                  ]
                  spids: [2465]
                )
                (C {(eval)} {(DQ ($ VSub_Name '$lt_safe_locale'))})
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: (C {(test)} {(DQ ($ VSub_Name '$my_status'))} {(-eq)} {(0)})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
                      spids: [16777215 2489]
                    )
                  ]
                  else_action: [
                    (C {(eval)} 
                      {
                        (DQ ('(exit ') ($ VSub_Name '$my_status') ('); ') ($ VSub_Name '$my_fail_exp'))
                      }
                    )
                  ]
                  spids: [2494 2507]
                )
              ]
              spids: [2452 2510]
            )
          ]
          spids: [2388]
        )
      spids: [2383 2387]
    )
    (FuncDef
      name: func_version
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [
                {($ VSub_Name '$SED')}
                {(-n)}
                {(SQ <'/^# '>) ($ VSub_Name '$PROGRAM') 
                  (SQ <' (GNU /,/# warranty; / {\n'> <'        s/^# //\n'> <'\ts/^# *$//\n'> 
                    <'        s/\\((C)\\)[ 0-9,-]*\\( [1-9][0-9]*\\)/\\1\\2/\n'> <'        p\n'> <'     }'>
                  )
                }
              ]
              redirects: [
                (Redir
                  op: <Redir_Less '<'>
                  fd: 16777215
                  arg_word: {(DQ ($ VSub_Name '$progpath'))}
                )
              ]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_QMark '$?')})
          ]
          spids: [2530]
        )
      spids: [2525 2529]
    )
    (FuncDef
      name: func_usage
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [
                {($ VSub_Name '$SED')}
                {(-n)}
                {
                  (SQ <'/^# Usage:/,/# -h/ {\n'> <'        s/^# //\n'> <'\ts/^# *$//\n'> 
                    <'\ts/\\$progname/'>
                  ) ($ VSub_Name '$progname') (SQ <'/\n'> <'\tp\n'> <'    }'>)
                }
              ]
              redirects: [
                (Redir
                  op: <Redir_Less '<'>
                  fd: 16777215
                  arg_word: {(DQ ($ VSub_Name '$progpath'))}
                )
              ]
            )
            (C {($ VSub_Name '$ECHO')})
            (C {($ VSub_Name '$ECHO')} 
              {
                (DQ ('run ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                  ($ VSub_Name '$progname') (" --help | more' for full usage")
                )
              }
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_QMark '$?')})
          ]
          spids: [2575]
        )
      spids: [2570 2574]
    )
    (FuncDef
      name: func_help
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [
                {($ VSub_Name '$SED')}
                {(-n)}
                {
                  (SQ <'/^# Usage:/,/# Report bugs to/ {\n'> <'        s/^# //\n'> <'\ts/^# *$//\n'> 
                    <'\ts*\\$progname*'>
                  ) ($ VSub_Name '$progname') (SQ <'*\n'> <'\ts*\\$host*'>) (DQ ($ VSub_Name '$host')) 
                  (SQ <'*\n'> <'\ts*\\$SHELL*'>) (DQ ($ VSub_Name '$SHELL')) (SQ <'*\n'> <'\ts*\\$LTCC*'>) (DQ ($ VSub_Name '$LTCC')) 
                  (SQ <'*\n'> <'\ts*\\$LTCFLAGS*'>) (DQ ($ VSub_Name '$LTCFLAGS')) (SQ <'*\n'> <'\ts*\\$LD*'>) (DQ ($ VSub_Name '$LD')) 
                  (SQ <'*\n'> <'\ts/\\$with_gnu_ld/'>) (DQ ($ VSub_Name '$with_gnu_ld')) (SQ <'/\n'> <'\ts/\\$automake_version/'>) 
                  (DQ 
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (Pipeline
                              children: [
                                (Subshell
                                  child: (C {(automake)} {(--version)})
                                  redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                                  spids: [2695 2699]
                                )
                                (C {($ VSub_Name '$SED')} {(1q)})
                              ]
                              negated: F
                            )
                          ]
                        )
                      left_token: <Left_Backtick '`'>
                      spids: [2694 2708]
                    )
                  ) (SQ <'/\n'> <'\ts/\\$autoconf_version/'>) 
                  (DQ 
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (Pipeline
                              children: [
                                (Subshell
                                  child: (C {(autoconf)} {(--version)})
                                  redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                                  spids: [2716 2720]
                                )
                                (C {($ VSub_Name '$SED')} {(1q)})
                              ]
                              negated: F
                            )
                          ]
                        )
                      left_token: <Left_Backtick '`'>
                      spids: [2715 2729]
                    )
                  ) (SQ <'/\n'> <'\tp\n'> <'     }'>)
                }
              ]
              redirects: [
                (Redir
                  op: <Redir_Less '<'>
                  fd: 16777215
                  arg_word: {(DQ ($ VSub_Name '$progpath'))}
                )
              ]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_QMark '$?')})
          ]
          spids: [2633]
        )
      spids: [2628 2632]
    )
    (FuncDef
      name: func_missing_arg
      body: 
        (BraceGroup
          children: [
            (C {(func_error)} {(DQ ('missing argument for ') ($ VSub_Number '$1'))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:exit_cmd)
                  op: Equal
                  rhs: {(ControlFlow_Exit exit)}
                  spids: [2776]
                )
              ]
              spids: [2776]
            )
          ]
          spids: [2765]
        )
      spids: [2760 2764]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:exit_cmd) op:Equal rhs:{(Lit_Other ':')} spids:[2782])]
      spids: [2782]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(DQ (X) ($ VSub_Number '$1'))} {(Lit_Other '=')} {(X--no-reexec)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(shift)})]
          spids: [16777215 2807]
        )
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(test)} {(DQ (X) ($ VSub_Number '$1'))} {(Lit_Other '=')} {(X--fallback-echo)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(Lit_Other ':')})]
          spids: [2816 2830]
        )
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(test)} 
                  {
                    (DQ (X) 
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (BraceGroup
                                children: [
                                  (Sentence
                                    child: (C {($ VSub_Name '$ECHO')} {(SQ <'\\t'>)})
                                    terminator: <Op_Semi ';'>
                                  )
                                ]
                                redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                                spids: [2846]
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [2845 2859]
                      )
                    )
                  } {(Lit_Other '=')} {(SQ <'X\\t'>)}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(Lit_Other ':')})]
          spids: [2839 2869]
        )
      ]
      else_action: [
        (C {(exec)} {($ VSub_Name '$SHELL')} {(DQ ($ VSub_Name '$progpath'))} {(--no-reexec)} 
          {
            (BracedVarSub
              token: <VSub_Number 1>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
              spids: [2895 2901]
            )
          }
        )
      ]
      spids: [2878 2903]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(test)} {(DQ (X) ($ VSub_Number '$1'))} {(Lit_Other '=')} {(X--fallback-echo)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(shift)})
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(EOF)}
                  here_end_span_id: 2938
                  stdin_parts: [($ VSub_Star '$*') ('\n')]
                )
              ]
            )
            (ControlFlow
              token: <ControlFlow_Exit exit>
              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
            )
          ]
          spids: [16777215 2920]
        )
      ]
      spids: [16777215 2944]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:magic)
          op: Equal
          rhs: {(DQ ('%%%MAGIC variable%%%'))}
          spids: [2947]
        )
      ]
      spids: [2947]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:magic_exe)
          op: Equal
          rhs: {(DQ ('%%%MAGIC EXE variable%%%'))}
          spids: [2952]
        )
      ]
      spids: [2952]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:nonopt) op:Equal rhs:{(EmptyPart)} spids:[2964])]
      spids: [2964]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:execute_dlfiles)
          op: Equal
          rhs: {(EmptyPart)}
          spids: [2966]
        )
      ]
      spids: [2966]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:preserve_args) op:Equal rhs:{(EmptyPart)} spids:[2968])]
      spids: [2968]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:lo2o)
          op: Equal
          rhs: 
            {
              (DQ (s/) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (.lo) 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (/.) (${ VSub_Name objext) (/)
              )
            }
          spids: [2970]
        )
      ]
      spids: [2970]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:o2lo)
          op: Equal
          rhs: 
            {
              (DQ (s/) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (.) (${ VSub_Name objext) 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (/.lo/)
              )
            }
          spids: [2983]
        )
      ]
      spids: [2983]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:extracted_archives)
          op: Equal
          rhs: {(EmptyPart)}
          spids: [2995]
        )
      ]
      spids: [2995]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:extracted_serial) op:Equal rhs:{(0)} spids:[2997])]
      spids: [2997]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_dry_run) op:Equal rhs:{(false)} spids:[3001])]
      spids: [3001]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_duplicate_deps) op:Equal rhs:{(false)} spids:[3004])]
      spids: [3004]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_silent) op:Equal rhs:{(false)} spids:[3007])]
      spids: [3007]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_debug) op:Equal rhs:{(Lit_Other ':')} spids:[3010])]
      spids: [3010]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:exec_cmd) op:Equal rhs:{(EmptyPart)} spids:[3023])]
      spids: [3023]
    )
    (FuncDef
      name: func_fatal_configuration
      body: 
        (BraceGroup
          children: [
            (C {(func_error)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                  spids: [3045 3051]
                )
              }
            )
            (C {(func_error)} 
              {(DQ ('See the ') ($ VSub_Name '$PACKAGE') (' documentation for more information.'))}
            )
            (C {(func_fatal_error)} {(DQ ('Fatal configuration error.'))})
          ]
          spids: [3040]
        )
      spids: [3035 3039]
    )
    (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: [3087]
                )
              ]
              spids: [3087]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:re_endcf)
                  op: Equal
                  rhs: {(SQ <'^# ### END LIBTOOL'>)}
                  spids: [3093]
                )
              ]
              spids: [3093]
            )
            (SimpleCommand
              words: [
                {($ VSub_Name '$SED')}
                {
                  (DQ ('1,/') ($ VSub_Name '$re_begincf') (' CONFIG/d;/') ($ VSub_Name '$re_endcf') 
                    (' CONFIG/,') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (d)
                  )
                }
              ]
              redirects: [
                (Redir
                  op: <Redir_Less '<'>
                  fd: 16777215
                  arg_word: {(DQ ($ VSub_Name '$progpath'))}
                )
              ]
            )
            (ForEach
              iter_name: tagname
              iter_words: [{($ VSub_Name '$taglist')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (SimpleCommand
                      words: [
                        {($ VSub_Name '$SED')}
                        {(-n)}
                        {
                          (DQ (/) ($ VSub_Name '$re_begincf') (' TAG CONFIG: ') ($ VSub_Name '$tagname') 
                            (EscapedLiteralPart
                              token: <Lit_EscapedChar '\\$'>
                            ) ('/,/') ($ VSub_Name '$re_endcf') (' TAG CONFIG: ') ($ VSub_Name '$tagname') 
                            (EscapedLiteralPart
                              token: <Lit_EscapedChar '\\$'>
                            ) (/p)
                          )
                        }
                      ]
                      redirects: [
                        (Redir
                          op: <Redir_Less '<'>
                          fd: 16777215
                          arg_word: {(DQ ($ VSub_Name '$progpath'))}
                        )
                      ]
                    )
                  ]
                  spids: [3137 3165]
                )
              spids: [3133 3135]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_QMark '$?')})
          ]
          spids: [3084]
        )
      spids: [3079 3083]
    )
    (FuncDef
      name: func_features
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$ECHO')} {(DQ ('host: ') ($ VSub_Name '$host'))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} {(Lit_Other '=')} {(yes)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {($ VSub_Name '$ECHO')} {(DQ ('enable shared libraries'))})]
                  spids: [16777215 3211]
                )
              ]
              else_action: [(C {($ VSub_Name '$ECHO')} {(DQ ('disable shared libraries'))})]
              spids: [3221 3231]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$build_old_libs'))} {(Lit_Other '=')} {(yes)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {($ VSub_Name '$ECHO')} {(DQ ('enable static libraries'))})]
                  spids: [16777215 3247]
                )
              ]
              else_action: [(C {($ VSub_Name '$ECHO')} {(DQ ('disable static libraries'))})]
              spids: [3257 3267]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_QMark '$?')})
          ]
          spids: [3187]
        )
      spids: [3182 3186]
    )
    (FuncDef
      name: func_enable_tag
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tagname)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$1'))}
                  spids: [3302]
                )
              ]
              spids: [3302]
            )
            (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: [3309]
                )
              ]
              spids: [3309]
            )
            (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: [3317]
                )
              ]
              spids: [3317]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:sed_extractcf)
                  op: Equal
                  rhs: {(DQ (/) ($ VSub_Name '$re_begincf') ('/,/') ($ VSub_Name '$re_endcf') (/p))}
                  spids: [3325]
                )
              ]
              spids: [3325]
            )
            (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: [3347 3355 3366 16777215]
                )
              ]
              spids: [3340 3344 3369]
            )
            (Case
              to_match: {($ VSub_Name '$tagname')}
              arms: [
                (case_arm pat_list:[{(CC)}] spids:[3388 3389 3391 16777215])
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (SimpleCommand
                                  words: [
                                    {($ VSub_Name '$GREP')}
                                    {(DQ ($ VSub_Name '$re_begincf'))}
                                    {(DQ ($ VSub_Name '$progpath'))}
                                  ]
                                  redirects: [
                                    (Redir
                                      op: <Redir_Great '>'>
                                      fd: 16777215
                                      arg_word: {(/dev/null)}
                                    )
                                    (Redir
                                      op: <Redir_GreatAnd '2>&'>
                                      fd: 2
                                      arg_word: {(1)}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:taglist)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$taglist') (' ') ($ VSub_Name '$tagname'))}
                                  spids: [3420]
                                )
                              ]
                              spids: [3420]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:extractedcf)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {($ VSub_Name '$SED')}
                                                  {(-n)}
                                                  {(-e)}
                                                  {(DQ ($ VSub_Name '$sed_extractcf'))}
                                                ]
                                                redirects: [
                                                  (Redir
                                                    op: <Redir_Less '<'>
                                                    fd: 16777215
                                                    arg_word: {(DQ ($ VSub_Name '$progpath'))}
                                                  )
                                                ]
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [3446 3462]
                                      )
                                    }
                                  spids: [3445]
                                )
                              ]
                              spids: [3445]
                            )
                            (C {(eval)} {(DQ ($ VSub_Name '$extractedcf'))})
                          ]
                          spids: [16777215 3417]
                        )
                      ]
                      else_action: [
                        (C {(func_error)} {(DQ ('ignoring unknown tag ') ($ VSub_Name '$tagname'))})
                      ]
                      spids: [3472 3483]
                    )
                  ]
                  spids: [3394 3395 3486 16777215]
                )
              ]
              spids: [3381 3385 3489]
            )
          ]
          spids: [3295]
        )
      spids: [3290 3294]
    )
    (BraceGroup
      children: [
        (Case
          to_match: {($ VSub_Number '$1')}
          arms: [
            (case_arm
              pat_list: [{(clean)} {(clea)} {(cle)} {(cl)}]
              action: [
                (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>)
                (Sentence
                  child: 
                    (C {(set)} {(dummy)} {(--mode)} {(clean)} 
                      {
                        (BracedVarSub
                          token: <VSub_Number 1>
                          suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                          spids: [3536 3542]
                        )
                      }
                    )
                  terminator: <Op_Semi ';'>
                )
                (C {(shift)})
              ]
              spids: [3515 3522 3548 16777215]
            )
            (case_arm
              pat_list: [{(compile)} {(compil)} {(compi)} {(comp)} {(com)} {(co)} {(c)}]
              action: [
                (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>)
                (Sentence
                  child: 
                    (C {(set)} {(dummy)} {(--mode)} {(compile)} 
                      {
                        (BracedVarSub
                          token: <VSub_Number 1>
                          suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                          spids: [3578 3584]
                        )
                      }
                    )
                  terminator: <Op_Semi ';'>
                )
                (C {(shift)})
              ]
              spids: [3551 3564 3590 16777215]
            )
            (case_arm
              pat_list: [{(execute)} {(execut)} {(execu)} {(exec)} {(exe)} {(ex)} {(e)}]
              action: [
                (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>)
                (Sentence
                  child: 
                    (C {(set)} {(dummy)} {(--mode)} {(execute)} 
                      {
                        (BracedVarSub
                          token: <VSub_Number 1>
                          suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                          spids: [3620 3626]
                        )
                      }
                    )
                  terminator: <Op_Semi ';'>
                )
                (C {(shift)})
              ]
              spids: [3593 3606 3632 16777215]
            )
            (case_arm
              pat_list: [{(finish)} {(finis)} {(fini)} {(fin)} {(KW_Fi fi)} {(f)}]
              action: [
                (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>)
                (Sentence
                  child: 
                    (C {(set)} {(dummy)} {(--mode)} {(finish)} 
                      {
                        (BracedVarSub
                          token: <VSub_Number 1>
                          suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                          spids: [3660 3666]
                        )
                      }
                    )
                  terminator: <Op_Semi ';'>
                )
                (C {(shift)})
              ]
              spids: [3635 3646 3672 16777215]
            )
            (case_arm
              pat_list: [{(install)} {(instal)} {(insta)} {(inst)} {(ins)} {(KW_In in)} {(i)}]
              action: [
                (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>)
                (Sentence
                  child: 
                    (C {(set)} {(dummy)} {(--mode)} {(install)} 
                      {
                        (BracedVarSub
                          token: <VSub_Number 1>
                          suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                          spids: [3702 3708]
                        )
                      }
                    )
                  terminator: <Op_Semi ';'>
                )
                (C {(shift)})
              ]
              spids: [3675 3688 3714 16777215]
            )
            (case_arm
              pat_list: [{(link)} {(lin)} {(li)} {(l)}]
              action: [
                (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>)
                (Sentence
                  child: 
                    (C {(set)} {(dummy)} {(--mode)} {(link)} 
                      {
                        (BracedVarSub
                          token: <VSub_Number 1>
                          suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                          spids: [3738 3744]
                        )
                      }
                    )
                  terminator: <Op_Semi ';'>
                )
                (C {(shift)})
              ]
              spids: [3717 3724 3750 16777215]
            )
            (case_arm
              pat_list: [
                {(uninstall)}
                {(uninstal)}
                {(uninsta)}
                {(uninst)}
                {(unins)}
                {(unin)}
                {(uni)}
                {(un)}
                {(u)}
              ]
              action: [
                (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>)
                (Sentence
                  child: 
                    (C {(set)} {(dummy)} {(--mode)} {(uninstall)} 
                      {
                        (BracedVarSub
                          token: <VSub_Number 1>
                          suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                          spids: [3784 3790]
                        )
                      }
                    )
                  terminator: <Op_Semi ';'>
                )
                (C {(shift)})
              ]
              spids: [3753 3770 3796 16777215]
            )
          ]
          spids: [3508 3512 3799]
        )
        (WhileUntil
          keyword: <KW_While while>
          cond: [
            (Sentence
              child: (C {(test)} {(DQ ($ VSub_Pound '$#'))} {(-gt)} {(0)})
              terminator: <Op_Semi ';'>
            )
          ]
          body: 
            (DoGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:opt)
                      op: Equal
                      rhs: {(DQ ($ VSub_Number '$1'))}
                      spids: [3823]
                    )
                  ]
                  spids: [3823]
                )
                (C {(shift)})
                (Case
                  to_match: {($ VSub_Name '$opt')}
                  arms: [
                    (case_arm
                      pat_list: [{(--config)}]
                      action: [(C {(func_config)})]
                      spids: [3840 3841 3845 16777215]
                    )
                    (case_arm
                      pat_list: [{(--debug)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:preserve_args)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$preserve_args') (' ') ($ VSub_Name '$opt'))}
                              spids: [3852]
                            )
                          ]
                          spids: [3852]
                        )
                        (C {(func_echo)} {(DQ ('enabling shell trace mode'))})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_debug)
                              op: Equal
                              rhs: {(SQ <'set -x'>)}
                              spids: [3867]
                            )
                          ]
                          spids: [3867]
                        )
                        (C {($ VSub_Name '$opt_debug')})
                      ]
                      spids: [3849 3850 3876 16777215]
                    )
                    (case_arm
                      pat_list: [{(-dlopen)}]
                      action: [
                        (AndOr
                          ops: [Op_DAmp Op_DAmp]
                          children: [
                            (C {(test)} {(DQ ($ VSub_Pound '$#'))} {(-eq)} {(0)})
                            (C {(func_missing_arg)} {(DQ ($ VSub_Name '$opt'))})
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:execute_dlfiles)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$execute_dlfiles') (' ') ($ VSub_Number '$1'))}
                              spids: [3906]
                            )
                          ]
                          spids: [3906]
                        )
                        (C {(shift)})
                      ]
                      spids: [3880 3881 3917 16777215]
                    )
                    (case_arm
                      pat_list: [{(--dry-run)} {(-n)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_dry_run)
                              op: Equal
                              rhs: {(Lit_Other ':')}
                              spids: [3928]
                            )
                          ]
                          spids: [3928]
                        )
                      ]
                      spids: [3921 3926 3931 16777215]
                    )
                    (case_arm
                      pat_list: [{(--features)}]
                      action: [(C {(func_features)})]
                      spids: [3934 3935 3939 16777215]
                    )
                    (case_arm
                      pat_list: [{(--finish)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:mode)
                              op: Equal
                              rhs: {(DQ (finish))}
                              spids: [3945]
                            )
                          ]
                          spids: [3945]
                        )
                      ]
                      spids: [3942 3943 3950 16777215]
                    )
                    (case_arm
                      pat_list: [{(--mode)}]
                      action: [
                        (AndOr
                          ops: [Op_DAmp Op_DAmp]
                          children: [
                            (C {(test)} {(DQ ($ VSub_Pound '$#'))} {(-eq)} {(0)})
                            (C {(func_missing_arg)} {(DQ ($ VSub_Name '$opt'))})
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                        )
                        (Case
                          to_match: {($ VSub_Number '$1')}
                          arms: [
                            (case_arm
                              pat_list: [{(clean)}]
                              spids: [3991 3992 3994 16777215]
                            )
                            (case_arm
                              pat_list: [{(compile)}]
                              spids: [3997 3998 4000 16777215]
                            )
                            (case_arm
                              pat_list: [{(execute)}]
                              spids: [4003 4004 4006 16777215]
                            )
                            (case_arm
                              pat_list: [{(finish)}]
                              spids: [4009 4010 4012 16777215]
                            )
                            (case_arm
                              pat_list: [{(install)}]
                              spids: [4015 4016 4018 16777215]
                            )
                            (case_arm
                              pat_list: [{(link)}]
                              spids: [4021 4022 4024 16777215]
                            )
                            (case_arm
                              pat_list: [{(relink)}]
                              spids: [4027 4028 4030 16777215]
                            )
                            (case_arm
                              pat_list: [{(uninstall)}]
                              spids: [4033 4034 4036 16777215]
                            )
                            (case_arm
                              pat_list: [{(Lit_Other '*')}]
                              action: [
                                (C {(func_error)} {(DQ ('invalid argument for ') ($ VSub_Name '$opt'))})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:exit_cmd)
                                      op: Equal
                                      rhs: {(ControlFlow_Exit exit)}
                                      spids: [4055]
                                    )
                                  ]
                                  spids: [4055]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                              spids: [4044 4045 4062 16777215]
                            )
                          ]
                          spids: [3980 3984 4065]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:mode)
                              op: Equal
                              rhs: {(DQ ($ VSub_Number '$1'))}
                              spids: [4069]
                            )
                          ]
                          spids: [4069]
                        )
                        (C {(shift)})
                      ]
                      spids: [3954 3955 4078 16777215]
                    )
                    (case_arm
                      pat_list: [{(--preserve-dup-deps)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_duplicate_deps)
                              op: Equal
                              rhs: {(Lit_Other ':')}
                              spids: [4086]
                            )
                          ]
                          spids: [4086]
                        )
                      ]
                      spids: [4082 4083 4089 16777215]
                    )
                    (case_arm
                      pat_list: [{(--quiet)} {(--silent)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:preserve_args)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$preserve_args') (' ') ($ VSub_Name '$opt'))}
                              spids: [4098]
                            )
                          ]
                          spids: [4098]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_silent)
                              op: Equal
                              rhs: {(Lit_Other ':')}
                              spids: [4106]
                            )
                          ]
                          spids: [4106]
                        )
                      ]
                      spids: [4093 4096 4110 16777215]
                    )
                    (case_arm
                      pat_list: [{(--verbose)} {(-v)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:preserve_args)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$preserve_args') (' ') ($ VSub_Name '$opt'))}
                              spids: [4120]
                            )
                          ]
                          spids: [4120]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_silent)
                              op: Equal
                              rhs: {(false)}
                              spids: [4128]
                            )
                          ]
                          spids: [4128]
                        )
                      ]
                      spids: [4114 4118 4132 16777215]
                    )
                    (case_arm
                      pat_list: [{(--tag)}]
                      action: [
                        (AndOr
                          ops: [Op_DAmp Op_DAmp]
                          children: [
                            (C {(test)} {(DQ ($ VSub_Pound '$#'))} {(-eq)} {(0)})
                            (C {(func_missing_arg)} {(DQ ($ VSub_Name '$opt'))})
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:preserve_args)
                              op: Equal
                              rhs: 
                                {
                                  (DQ ($ VSub_Name '$preserve_args') (' ') ($ VSub_Name '$opt') (' ') 
                                    ($ VSub_Number '$1')
                                  )
                                }
                              spids: [4162]
                            )
                          ]
                          spids: [4162]
                        )
                        (C {(func_enable_tag)} {(DQ ($ VSub_Number '$1'))})
                        (C {(shift)})
                      ]
                      spids: [4136 4137 4185 16777215]
                    )
                    (case_arm
                      pat_list: [
                        {(-dlopen) (Lit_Other '=') (Lit_Other '*')}
                        {(--mode) (Lit_Other '=') (Lit_Other '*')}
                        {(--tag) (Lit_Other '=') (Lit_Other '*')}
                      ]
                      action: [
                        (C {(func_opt_split)} {(DQ ($ VSub_Name '$opt'))})
                        (C {(set)} {(dummy)} {(DQ ($ VSub_Name '$func_opt_split_opt'))} 
                          {(DQ ($ VSub_Name '$func_opt_split_arg'))} 
                          {
                            (BracedVarSub
                              token: <VSub_Number 1>
                              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                              spids: [4226 4232]
                            )
                          }
                        )
                        (C {(shift)})
                      ]
                      spids: [4193 4204 4238 16777215]
                    )
                    (case_arm
                      pat_list: [{(-) (EscapedLiteralPart token:<Lit_EscapedChar '\\?'>)} {(-h)}]
                      action: [(C {(func_usage)})]
                      spids: [4242 4246 4250 16777215]
                    )
                    (case_arm
                      pat_list: [{(--help)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_help)
                              op: Equal
                              rhs: {(Lit_Other ':')}
                              spids: [4256]
                            )
                          ]
                          spids: [4256]
                        )
                      ]
                      spids: [4253 4254 4259 16777215]
                    )
                    (case_arm
                      pat_list: [{(--version)}]
                      action: [(C {(func_version)})]
                      spids: [4262 4263 4267 16777215]
                    )
                    (case_arm
                      pat_list: [{(-) (Lit_Other '*')}]
                      action: [
                        (C {(func_fatal_help)} 
                          {
                            (DQ ('unrecognized option ') 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\`'>
                              ) ($ VSub_Name '$opt') ("'")
                            )
                          }
                        )
                      ]
                      spids: [4271 4273 4284 16777215]
                    )
                    (case_arm
                      pat_list: [{(Lit_Other '*')}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:nonopt)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$opt'))}
                              spids: [4291]
                            )
                          ]
                          spids: [4291]
                        )
                        (ControlFlow token:<ControlFlow_Break break>)
                      ]
                      spids: [4288 4289 4300 16777215]
                    )
                  ]
                  spids: [3833 3837 4303]
                )
              ]
              spids: [3820 4306]
            )
        )
        (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 '*')}
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:opt_duplicate_compiler_generated_deps)
                      op: Equal
                      rhs: {(Lit_Other ':')}
                      spids: [4346]
                    )
                  ]
                  spids: [4346]
                )
              ]
              spids: [4318 4339 4350 16777215]
            )
            (case_arm
              pat_list: [{(Lit_Other '*')}]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:opt_duplicate_compiler_generated_deps)
                      op: Equal
                      rhs: {($ VSub_Name '$opt_duplicate_deps')}
                      spids: [4357]
                    )
                  ]
                  spids: [4357]
                )
              ]
              spids: [4353 4354 4361 16777215]
            )
          ]
          spids: [4311 4315 4364]
        )
        (C {($ VSub_Name '$exit_cmd')} {($ VSub_Name '$EXIT_FAILURE')})
      ]
      spids: [3500]
    )
    (FuncDef
      name: func_check_version_match
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$package_revision'))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$macro_revision'))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$VERSION'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$macro_version'))}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$macro_version'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (SimpleCommand
                                      words: [{(cat)}]
                                      redirects: [
                                        (Redir
                                          op: <Redir_GreatAnd '>&'>
                                          fd: 16777215
                                          arg_word: {(2)}
                                        )
                                        (HereDoc
                                          op: <Redir_DLess '<<'>
                                          fd: 16777215
                                          here_begin: {(_LT_EOF)}
                                          here_end_span_id: 4477
                                          stdin_parts: [
                                            ($ VSub_Name '$progname')
                                            (': Version mismatch error.  This is ')
                                            ($ VSub_Name '$PACKAGE')
                                            (' ')
                                            ($ VSub_Name '$VERSION')
                                            (', but the\n')
                                            ($ VSub_Name '$progname')
                                            (
': definition of this LT_INIT comes from an older release.\n'
                                            )
                                            ($ VSub_Name '$progname')
                                            (': You should recreate aclocal.m4 with macros from ')
                                            ($ VSub_Name '$PACKAGE')
                                            (' ')
                                            ($ VSub_Name '$VERSION')
                                            ('\n')
                                            ($ VSub_Name '$progname')
                                            (': and run autoconf again.\n')
                                          ]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 4449]
                                )
                              ]
                              else_action: [
                                (SimpleCommand
                                  words: [{(cat)}]
                                  redirects: [
                                    (Redir
                                      op: <Redir_GreatAnd '>&'>
                                      fd: 16777215
                                      arg_word: {(2)}
                                    )
                                    (HereDoc
                                      op: <Redir_DLess '<<'>
                                      fd: 16777215
                                      here_begin: {(_LT_EOF)}
                                      here_end_span_id: 4511
                                      stdin_parts: [
                                        ($ VSub_Name '$progname')
                                        (': Version mismatch error.  This is ')
                                        ($ VSub_Name '$PACKAGE')
                                        (' ')
                                        ($ VSub_Name '$VERSION')
                                        (', but the\n')
                                        ($ VSub_Name '$progname')
                                        (': definition of this LT_INIT comes from ')
                                        ($ VSub_Name '$PACKAGE')
                                        (' ')
                                        ($ VSub_Name '$macro_version')
                                        ('.\n')
                                        ($ VSub_Name '$progname')
                                        (': You should recreate aclocal.m4 with macros from ')
                                        ($ VSub_Name '$PACKAGE')
                                        (' ')
                                        ($ VSub_Name '$VERSION')
                                        ('\n')
                                        ($ VSub_Name '$progname')
                                        (': and run autoconf again.\n')
                                      ]
                                    )
                                  ]
                                )
                              ]
                              spids: [4479 4513]
                            )
                          ]
                          spids: [16777215 4435]
                        )
                      ]
                      else_action: [
                        (SimpleCommand
                          words: [{(cat)}]
                          redirects: [
                            (Redir
                              op: <Redir_GreatAnd '>&'>
                              fd: 16777215
                              arg_word: {(2)}
                            )
                            (HereDoc
                              op: <Redir_DLess '<<'>
                              fd: 16777215
                              here_begin: {(_LT_EOF)}
                              here_end_span_id: 4550
                              stdin_parts: [
                                ($ VSub_Name '$progname')
                                (': Version mismatch error.  This is ')
                                ($ VSub_Name '$PACKAGE')
                                (' ')
                                ($ VSub_Name '$VERSION')
                                (', revision ')
                                ($ VSub_Name '$package_revision')
                                (',\n')
                                ($ VSub_Name '$progname')
                                (': but the definition of this LT_INIT comes from revision ')
                                ($ VSub_Name '$macro_revision')
                                ('.\n')
                                ($ VSub_Name '$progname')
                                (': You should recreate aclocal.m4 with macros from revision ')
                                ($ VSub_Name '$package_revision')
                                ('\n')
                                ($ VSub_Name '$progname')
                                (': of ')
                                ($ VSub_Name '$PACKAGE')
                                (' ')
                                ($ VSub_Name '$VERSION')
                                (' and run autoconf again.\n')
                              ]
                            )
                          ]
                        )
                      ]
                      spids: [4516 4552]
                    )
                    (ControlFlow
                      token: <ControlFlow_Exit exit>
                      arg_word: {($ VSub_Name '$EXIT_MISMATCH')}
                    )
                  ]
                  spids: [16777215 4416]
                )
              ]
              spids: [16777215 4561]
            )
          ]
          spids: [4397]
        )
      spids: [4392 4396]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {($ VSub_Name '$opt_help')})
        (BraceGroup
          children: [
            (C {(func_check_version_match)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} 
                              {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                            )
                            (C {(test)} {(DQ ($ VSub_Name '$build_old_libs'))} 
                              {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_fatal_configuration)} 
                      {(DQ ('not configured to build any kind of library'))}
                    )
                  ]
                  spids: [16777215 4619]
                )
              ]
              spids: [16777215 4629]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$mode'))})
                (C {(func_fatal_error)} {(DQ ('error: you must specify a MODE.'))})
              ]
            )
            (C {(eval)} 
              {(Lit_VarLike 'std_shrext=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                ($ VSub_Name '$shrext_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
              }
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$execute_dlfiles'))})
                            (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(KW_Bang '!') (Lit_Other '=')} 
                              {(execute)}
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_error)} 
                      {
                        (DQ ('unrecognized option ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                          ("-dlopen'")
                        )
                      }
                    )
                    (SimpleCommand
                      words: [{($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$help'))}]
                      redirects: [(Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})]
                    )
                    (ControlFlow
                      token: <ControlFlow_Exit exit>
                      arg_word: {($ VSub_Name '$EXIT_FAILURE')}
                    )
                  ]
                  spids: [16777215 4694]
                )
              ]
              spids: [16777215 4721]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:generic_help)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$help'))}
                  spids: [4729]
                )
              ]
              spids: [4729]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:help)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('Try ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                        ($ VSub_Name '$progname') (' --help --mode=') ($ VSub_Name '$mode') ("' for more information.")
                      )
                    }
                  spids: [4735]
                )
              ]
              spids: [4735]
            )
          ]
          spids: [4581]
        )
      ]
    )
    (FuncDef
      name: func_lalib_p
      body: 
        (BraceGroup
          children: [
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-f)} {(DQ ($ VSub_Number '$1'))})
                (Pipeline
                  children: [
                    (SimpleCommand
                      words: [{($ VSub_Name '$SED')} {(-e)} {(4q)} {(DQ ($ VSub_Number '$1'))}]
                      redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                    )
                    (SimpleCommand
                      words: [
                        {($ VSub_Name '$GREP')}
                        {(DQ ('^# Generated by .*') ($ VSub_Name '$PACKAGE'))}
                      ]
                      redirects: [
                        (Redir
                          op: <Redir_Great '>'>
                          fd: 16777215
                          arg_word: {(/dev/null)}
                        )
                        (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})
                      ]
                    )
                  ]
                  negated: F
                )
              ]
            )
          ]
          spids: [4766]
        )
      spids: [4761 4765]
    )
    (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:[4843])]
              spids: [4843]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp Op_DAmp]
                          children: [
                            (C {(test)} {(-f)} {(DQ ($ VSub_Number '$1'))})
                            (C {(test)} {(-r)} {(DQ ($ VSub_Number '$1'))})
                            (SimpleCommand
                              words: [{(exec)}]
                              redirects: [
                                (Redir
                                  op: <Redir_LessAnd '5<&'>
                                  fd: 5
                                  arg_word: {(0)}
                                )
                                (Redir
                                  op: <Redir_Less '<'>
                                  fd: 16777215
                                  arg_word: {(DQ ($ VSub_Number '$1'))}
                                )
                              ]
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (ForEach
                      iter_name: lalib_p_l
                      iter_words: [{(1)} {(2)} {(3)} {(4)}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (C {(read)} {(lalib_p_line)})
                            (Case
                              to_match: {(DQ ($ VSub_Name '$lalib_p_line'))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(EscapedLiteralPart token:<Lit_EscapedChar '\\#'>) 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\ '>
                                      ) (Generated) (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (by) 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\ '>
                                      ) (Lit_Other '*') ($ VSub_Name '$PACKAGE') (Lit_Other '*')
                                    }
                                  ]
                                  action: [
                                    (Sentence
                                      child: 
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:lalib_p)
                                              op: Equal
                                              rhs: {(yes)}
                                              spids: [4927]
                                            )
                                          ]
                                          spids: [4927]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Break break>
                                    )
                                  ]
                                  spids: [4915 4925 4932 16777215]
                                )
                              ]
                              spids: [4906 4912 4935]
                            )
                          ]
                          spids: [4898 4938]
                        )
                      spids: [4888 16777215]
                    )
                    (SimpleCommand
                      words: [{(exec)}]
                      redirects: [
                        (Redir op:<Redir_LessAnd '0<&'> fd:0 arg_word:{(5)})
                        (Redir op:<Redir_LessAnd '5<&'> fd:5 arg_word:{(-)})
                      ]
                    )
                  ]
                  spids: [16777215 4880]
                )
              ]
              spids: [16777215 4950]
            )
            (C {(test)} {(DQ ($ VSub_Name '$lalib_p'))} {(Lit_Other '=')} {(yes)})
          ]
          spids: [4840]
        )
      spids: [4835 4839]
    )
    (FuncDef
      name: func_ltwrapper_script_p
      body: (BraceGroup children:[(C {(func_lalib_p)} {(DQ ($ VSub_Number '$1'))})] spids:[4983])
      spids: [4978 4982]
    )
    (FuncDef
      name: func_ltwrapper_executable_p
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_ltwrapper_exec_suffix)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [5015]
                )
              ]
              spids: [5015]
            )
            (Case
              to_match: {($ VSub_Number '$1')}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other '*') (.exe)}]
                  spids: [5025 5027 5029 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_ltwrapper_exec_suffix)
                          op: Equal
                          rhs: {(.exe)}
                          spids: [5035]
                        )
                      ]
                      spids: [5035]
                    )
                  ]
                  spids: [5032 5033 5038 16777215]
                )
              ]
              spids: [5018 5022 5041]
            )
            (SimpleCommand
              words: [
                {($ VSub_Name '$GREP')}
                {(DQ ($ VSub_Name '$magic_exe'))}
                {(DQ ($ VSub_Number '$1') ($ VSub_Name '$func_ltwrapper_exec_suffix'))}
              ]
              redirects: [
                (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})
                (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})
              ]
            )
          ]
          spids: [5012]
        )
      spids: [5007 5011]
    )
    (FuncDef
      name: func_ltwrapper_scriptname
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_ltwrapper_scriptname_result)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [5084]
                )
              ]
              spids: [5084]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(func_ltwrapper_executable_p)} {(DQ ($ VSub_Number '$1'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_dirname_and_basename)} {(DQ ($ VSub_Number '$1'))} {(DQ )} {(DQ (.))})
                    (C {(func_stripname)} {(SQ )} {(SQ <.exe>)} 
                      {(DQ ($ VSub_Name '$func_basename_result'))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_ltwrapper_scriptname_result)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$func_dirname_result') (/) ($ VSub_Name '$objdir') (/) 
                                (${ VSub_Name func_stripname_result) (_ltshwrapper)
                              )
                            }
                          spids: [5129]
                        )
                      ]
                      spids: [5129]
                    )
                  ]
                  spids: [16777215 5098]
                )
              ]
              spids: [16777215 5142]
            )
          ]
          spids: [5081]
        )
      spids: [5076 5080]
    )
    (FuncDef
      name: func_ltwrapper_p
      body: 
        (BraceGroup
          children: [
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(func_ltwrapper_script_p)} {(DQ ($ VSub_Number '$1'))})
                (C {(func_ltwrapper_executable_p)} {(DQ ($ VSub_Number '$1'))})
              ]
            )
          ]
          spids: [5164]
        )
      spids: [5159 5163]
    )
    (FuncDef
      name: func_execute_cmds
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:save_ifs)
                      op: Equal
                      rhs: {($ VSub_Name '$IFS')}
                      spids: [5208]
                    )
                  ]
                  spids: [5208]
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(SQ <'~'>)} spids:[5212])]
              spids: [5212]
            )
            (ForEach
              iter_name: cmd
              iter_words: [{($ VSub_Number '$1')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {($ VSub_Name '$save_ifs')}
                          spids: [5230]
                        )
                      ]
                      spids: [5230]
                    )
                    (C {(eval)} 
                      {(Lit_VarLike 'cmd=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                        ($ VSub_Name '$cmd') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                      }
                    )
                    (C {(func_show_eval)} {(DQ ($ VSub_Name '$cmd'))} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Number 2>
                            suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(':')})
                            spids: [5249 5253]
                          )
                        )
                      }
                    )
                  ]
                  spids: [5227 5257]
                )
              spids: [5223 5225]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$save_ifs')}
                  spids: [5260]
                )
              ]
              spids: [5260]
            )
          ]
          spids: [5202]
        )
      spids: [5197 5201]
    )
    (FuncDef
      name: func_source
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (Case
              to_match: {($ VSub_Number '$1')}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (/) (Lit_Other '*')}
                    {(Lit_Other '*') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
                      (Lit_Other '*')
                    }
                  ]
                  action: [(C {(.)} {(DQ ($ VSub_Number '$1'))})]
                  spids: [5303 5312 5320 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(C {(.)} {(DQ (./) ($ VSub_Number '$1'))})]
                  spids: [5323 5324 5333 16777215]
                )
              ]
              spids: [5296 5300 5336]
            )
          ]
          spids: [5290]
        )
      spids: [5285 5289]
    )
    (FuncDef
      name: func_infer_tag
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$available_tags'))})
                            (C {(test)} {(-z)} {(DQ ($ VSub_Name '$tagname'))})
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CC_quoted)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [5395]
                        )
                      ]
                      spids: [5395]
                    )
                    (ForEach
                      iter_name: arg
                      iter_words: [{($ VSub_Name '$CC')}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CC_quoted)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$CC_quoted') (' ') 
                                        ($ VSub_Name '$func_quote_for_eval_result')
                                      )
                                    }
                                  spids: [5417]
                                )
                              ]
                              spids: [5417]
                            )
                          ]
                          spids: [5407 5425]
                        )
                      spids: [5403 5405]
                    )
                    (Case
                      to_match: {($ VSub_At '$@')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(DQ (' ') ($ VSub_Name '$CC') (' ')) (Lit_Other '*')}
                            {(DQ ($ VSub_Name '$CC') (' ')) (Lit_Other '*')}
                            {
                              (DQ (' ') 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {($ VSub_Name '$ECHO')} {($ VSub_Name '$CC')})]
                                    )
                                  left_token: <Left_Backtick '`'>
                                  spids: [5462 5466]
                                ) (' ')
                              ) (Lit_Other '*')
                            }
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {($ VSub_Name '$ECHO')} {($ VSub_Name '$CC')})]
                                    )
                                  left_token: <Left_Backtick '`'>
                                  spids: [5474 5478]
                                ) (' ')
                              ) (Lit_Other '*')
                            }
                            {(DQ (' ') ($ VSub_Name '$CC_quoted')) (Lit_Other '*')}
                            {(DQ ($ VSub_Name '$CC_quoted') (' ')) (Lit_Other '*')}
                            {
                              (DQ (' ') 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {($ VSub_Name '$ECHO')} {($ VSub_Name '$CC_quoted')})
                                      ]
                                    )
                                  left_token: <Left_Backtick '`'>
                                  spids: [5503 5507]
                                ) (' ')
                              ) (Lit_Other '*')
                            }
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {($ VSub_Name '$ECHO')} {($ VSub_Name '$CC_quoted')})
                                      ]
                                    )
                                  left_token: <Left_Backtick '`'>
                                  spids: [5515 5519]
                                ) (' ')
                              ) (Lit_Other '*')
                            }
                          ]
                          spids: [5443 5523 5525 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (ForEach
                              iter_name: z
                              iter_words: [{($ VSub_Name '$available_tags')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (SimpleCommand
                                                  words: [
                                                    {($ VSub_Name '$GREP')}
                                                    {
                                                      (DQ ('^# ### BEGIN LIBTOOL TAG CONFIG: ') 
                                                        ($ VSub_Name '$z') (Lit_Other '$')
                                                      )
                                                    }
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op: <Redir_Less '<'>
                                                      fd: 16777215
                                                      arg_word: {(DQ ($ VSub_Name '$progpath'))}
                                                    )
                                                    (Redir
                                                      op: <Redir_Great '>'>
                                                      fd: 16777215
                                                      arg_word: {(/dev/null)}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(eval)} 
                                              {
                                                (DQ 
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (SimpleCommand
                                                            words: [
                                                              {(${ VSub_Name SED)}
                                                              {(-n)}
                                                              {(-e)}
                                                              {
                                                                (SQ 
                                                                  <
'/^# ### BEGIN LIBTOOL TAG CONFIG: '
                                                                  >
                                                                ) ($ VSub_Name '$z') (SQ <'$/,/^# ### END LIBTOOL TAG CONFIG: '>) ($ VSub_Name '$z') (SQ <'$/p'>)
                                                              }
                                                            ]
                                                            redirects: [
                                                              (Redir
                                                                op: <Redir_Less '<'>
                                                                fd: 16777215
                                                                arg_word: {($ VSub_Name '$progpath')}
                                                              )
                                                            ]
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [5583 5607]
                                                  )
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:CC_quoted)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [5611]
                                                )
                                              ]
                                              spids: [5611]
                                            )
                                            (ForEach
                                              iter_name: arg
                                              iter_words: [{($ VSub_Name '$CC')}]
                                              do_arg_iter: F
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (C {(func_quote_for_eval)} 
                                                      {(DQ ($ VSub_Name '$arg'))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:CC_quoted)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$CC_quoted') (' ') 
                                                                ($ VSub_Name 
'$func_quote_for_eval_result'
                                                                )
                                                              )
                                                            }
                                                          spids: [5637]
                                                        )
                                                      ]
                                                      spids: [5637]
                                                    )
                                                  ]
                                                  spids: [5623 5645]
                                                )
                                              spids: [5619 5621]
                                            )
                                            (Case
                                              to_match: {(DQ ($ VSub_At '$@') (' '))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(DQ (' ') ($ VSub_Name '$CC') (' ')) 
                                                      (Lit_Other '*')
                                                    }
                                                    {(DQ ($ VSub_Name '$CC') (' ')) (Lit_Other '*')}
                                                    {
                                                      (DQ (' ') 
                                                        (CommandSubPart
                                                          command_list: 
                                                            (CommandList
                                                              children: [
                                                                (C {($ VSub_Name '$ECHO')} 
                                                                  {($ VSub_Name '$CC')}
                                                                )
                                                              ]
                                                            )
                                                          left_token: <Left_Backtick '`'>
                                                          spids: [5677 5681]
                                                        ) (' ')
                                                      ) (Lit_Other '*')
                                                    }
                                                    {
                                                      (DQ 
                                                        (CommandSubPart
                                                          command_list: 
                                                            (CommandList
                                                              children: [
                                                                (C {($ VSub_Name '$ECHO')} 
                                                                  {($ VSub_Name '$CC')}
                                                                )
                                                              ]
                                                            )
                                                          left_token: <Left_Backtick '`'>
                                                          spids: [5689 5693]
                                                        ) (' ')
                                                      ) (Lit_Other '*')
                                                    }
                                                    {(DQ (' ') ($ VSub_Name '$CC_quoted')) 
                                                      (Lit_Other '*')
                                                    }
                                                    {(DQ ($ VSub_Name '$CC_quoted') (' ')) 
                                                      (Lit_Other '*')
                                                    }
                                                    {
                                                      (DQ (' ') 
                                                        (CommandSubPart
                                                          command_list: 
                                                            (CommandList
                                                              children: [
                                                                (C {($ VSub_Name '$ECHO')} 
                                                                  {($ VSub_Name '$CC_quoted')}
                                                                )
                                                              ]
                                                            )
                                                          left_token: <Left_Backtick '`'>
                                                          spids: [5718 5722]
                                                        ) (' ')
                                                      ) (Lit_Other '*')
                                                    }
                                                    {
                                                      (DQ 
                                                        (CommandSubPart
                                                          command_list: 
                                                            (CommandList
                                                              children: [
                                                                (C {($ VSub_Name '$ECHO')} 
                                                                  {($ VSub_Name '$CC_quoted')}
                                                                )
                                                              ]
                                                            )
                                                          left_token: <Left_Backtick '`'>
                                                          spids: [5730 5734]
                                                        ) (' ')
                                                      ) (Lit_Other '*')
                                                    }
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:tagname)
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$z')}
                                                          spids: [5753]
                                                        )
                                                      ]
                                                      spids: [5753]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [5658 5738 5760 16777215]
                                                )
                                              ]
                                              spids: [5648 5655 5763]
                                            )
                                          ]
                                          spids: [16777215 5573]
                                        )
                                      ]
                                      spids: [16777215 5766]
                                    )
                                  ]
                                  spids: [5549 5769]
                                )
                              spids: [5545 5547]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$tagname'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_echo)} {(DQ ('unable to infer tagged configuration'))})
                                    (C {(func_fatal_error)} 
                                      {
                                        (DQ ('specify a tag with ') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\`'>
                                          ) ("--tag'")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [16777215 5795]
                                )
                              ]
                              spids: [16777215 5820]
                            )
                          ]
                          spids: [5536 5537 5823 16777215]
                        )
                      ]
                      spids: [5428 5432 5826]
                    )
                  ]
                  spids: [16777215 5392]
                )
              ]
              spids: [16777215 5829]
            )
          ]
          spids: [5365]
        )
      spids: [5360 5364]
    )
    (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: [5853]
                )
              ]
              spids: [5853]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} {(Lit_Other '=')} {(yes)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:write_lobj)
                          op: Equal
                          rhs: 
                            {(EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (${ VSub_Number 2) 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar "\\'">
                              )
                            }
                          spids: [5875]
                        )
                      ]
                      spids: [5875]
                    )
                  ]
                  spids: [16777215 5872]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:write_lobj)
                      op: Equal
                      rhs: {(none)}
                      spids: [5886]
                    )
                  ]
                  spids: [5886]
                )
              ]
              spids: [5883 5890]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$build_old_libs'))} {(Lit_Other '=')} {(yes)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:write_oldobj)
                          op: Equal
                          rhs: 
                            {(EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (${ VSub_Number 3) 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar "\\'">
                              )
                            }
                          spids: [5910]
                        )
                      ]
                      spids: [5910]
                    )
                  ]
                  spids: [16777215 5907]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:write_oldobj)
                      op: Equal
                      rhs: {(none)}
                      spids: [5921]
                    )
                  ]
                  spids: [5921]
                )
              ]
              spids: [5918 5925]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {($ VSub_Name '$opt_dry_run')})
                (BraceGroup
                  children: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op: <Redir_Great '>'>
                          fd: 16777215
                          arg_word: {(${ VSub_Name write_libobj) (T)}
                        )
                        (HereDoc
                          op: <Redir_DLess '<<'>
                          fd: 16777215
                          here_begin: {(EOF)}
                          here_end_span_id: 5973
                          stdin_parts: [
                            ('# ')
                            ($ VSub_Name '$write_libobj')
                            (' - a libtool object file\n')
                            ('# Generated by ')
                            ($ VSub_Name '$PROGRAM')
                            (' (GNU ')
                            ($ VSub_Name '$PACKAGE')
                            ($ VSub_Name '$TIMESTAMP')
                            (') ')
                            ($ VSub_Name '$VERSION')
                            ('\n')
                            ('#\n')
                            ('# Please DO NOT delete this file!\n')
                            ('# It is necessary for linking the library.\n')
                            ('\n')
                            ('# Name of the PIC object.\n')
                            ('pic_object=')
                            ($ VSub_Name '$write_lobj')
                            ('\n')
                            ('\n')
                            ('# Name of the non-PIC object\n')
                            ('non_pic_object=')
                            ($ VSub_Name '$write_oldobj')
                            ('\n')
                            ('\n')
                          ]
                        )
                      ]
                    )
                    (C {($ VSub_Name '$MV')} {(DQ (${ VSub_Name write_libobj) (T))} 
                      {(DQ (${ VSub_Name write_libobj))}
                    )
                  ]
                  spids: [5933]
                )
              ]
            )
          ]
          spids: [5850]
        )
      spids: [5845 5849]
    )
    (FuncDef
      name: func_mode_compile
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:base_compile)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [6014]
                )
              ]
              spids: [6014]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:srcfile)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$nonopt'))}
                  spids: [6017]
                )
              ]
              spids: [6017]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:suppress_opt) op:Equal rhs:{(yes)} spids:[6026])]
              spids: [6026]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:suppress_output)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [6030]
                )
              ]
              spids: [6030]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:arg_mode) op:Equal rhs:{(normal)} spids:[6033])]
              spids: [6033]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libobj) op:Equal rhs:{(EmptyPart)} spids:[6037])]
              spids: [6037]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:later) op:Equal rhs:{(EmptyPart)} spids:[6040])]
              spids: [6040]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pie_flag)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [6043]
                )
              ]
              spids: [6043]
            )
            (ForEach
              iter_name: arg
              do_arg_iter: T
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$arg_mode')}
                      arms: [
                        (case_arm
                          pat_list: [{(arg)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lastarg)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$arg'))}
                                  spids: [6071]
                                )
                              ]
                              spids: [6071]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg_mode)
                                  op: Equal
                                  rhs: {(normal)}
                                  spids: [6077]
                                )
                              ]
                              spids: [6077]
                            )
                          ]
                          spids: [6062 6064 6081 16777215]
                        )
                        (case_arm
                          pat_list: [{(target)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libobj)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$arg'))}
                                  spids: [6090]
                                )
                              ]
                              spids: [6090]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg_mode)
                                  op: Equal
                                  rhs: {(normal)}
                                  spids: [6096]
                                )
                              ]
                              spids: [6096]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [6085 6087 6103 16777215]
                        )
                        (case_arm
                          pat_list: [{(normal)}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name '$arg')}
                              arms: [
                                (case_arm
                                  pat_list: [{(-o)}]
                                  action: [
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$libobj'))})
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ('you cannot specify ') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\`'>
                                              ) ("-o' more than once")
                                            )
                                          }
                                        )
                                      ]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg_mode)
                                          op: Equal
                                          rhs: {(target)}
                                          spids: [6148]
                                        )
                                      ]
                                      spids: [6148]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [6123 6124 6155 16777215]
                                )
                                (case_arm
                                  pat_list: [{(-pie)} {(-fpie)} {(-fPIE)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:pie_flag)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$pie_flag') (' ') ($ VSub_Name '$arg'))
                                            }
                                          spids: [6171]
                                        )
                                      ]
                                      spids: [6171]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [6159 6168 6182 16777215]
                                )
                                (case_arm
                                  pat_list: [{(-shared)} {(-static)} {(-prefer-pic)} {(-prefer-non-pic)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:later)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$later') (' ') ($ VSub_Name '$arg'))}
                                          spids: [6202]
                                        )
                                      ]
                                      spids: [6202]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [6186 6199 6213 16777215]
                                )
                                (case_arm
                                  pat_list: [{(-no-suppress)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:suppress_opt)
                                          op: Equal
                                          rhs: {(no)}
                                          spids: [6221]
                                        )
                                      ]
                                      spids: [6221]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [6217 6218 6228 16777215]
                                )
                                (case_arm
                                  pat_list: [{(-Xcompiler)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg_mode)
                                          op: Equal
                                          rhs: {(arg)}
                                          spids: [6236]
                                        )
                                      ]
                                      spids: [6236]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [6232 6233 6249 16777215]
                                )
                                (case_arm
                                  pat_list: [{(-Wc) (Lit_Comma ',') (Lit_Other '*')}]
                                  action: [
                                    (C {(func_stripname)} {(SQ <'-Wc,'>)} {(SQ )} 
                                      {(DQ ($ VSub_Name '$arg'))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:args)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_stripname_result')}
                                          spids: [6276]
                                        )
                                      ]
                                      spids: [6276]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lastarg)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [6280]
                                        )
                                      ]
                                      spids: [6280]
                                    )
                                    (Sentence
                                      child: 
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:save_ifs)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$IFS'))}
                                              spids: [6283]
                                            )
                                          ]
                                          spids: [6283]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(SQ <','>)}
                                          spids: [6289]
                                        )
                                      ]
                                      spids: [6289]
                                    )
                                    (ForEach
                                      iter_name: arg
                                      iter_words: [{($ VSub_Name '$args')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                                  spids: [6307]
                                                )
                                              ]
                                              spids: [6307]
                                            )
                                            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$arg'))})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lastarg)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$lastarg') (' ') 
                                                        ($ VSub_Name '$func_quote_for_eval_result')
                                                      )
                                                    }
                                                  spids: [6320]
                                                )
                                              ]
                                              spids: [6320]
                                            )
                                          ]
                                          spids: [6304 6328]
                                        )
                                      spids: [6300 6302]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                          spids: [6331]
                                        )
                                      ]
                                      spids: [6331]
                                    )
                                    (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: [6351]
                                        )
                                      ]
                                      spids: [6351]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:base_compile)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$base_compile') (' ') 
                                                ($ VSub_Name '$lastarg')
                                              )
                                            }
                                          spids: [6360]
                                        )
                                      ]
                                      spids: [6360]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [6256 6259 6371 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lastarg)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$srcfile'))}
                                          spids: [6391]
                                        )
                                      ]
                                      spids: [6391]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:srcfile)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$arg'))}
                                          spids: [6397]
                                        )
                                      ]
                                      spids: [6397]
                                    )
                                  ]
                                  spids: [6375 6376 6403 16777215]
                                )
                              ]
                              spids: [6116 6120 6406]
                            )
                          ]
                          spids: [6107 6109 6412 16777215]
                        )
                      ]
                      spids: [6055 6059 6415]
                    )
                    (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$lastarg'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:base_compile)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$base_compile') (' ') 
                                ($ VSub_Name '$func_quote_for_eval_result')
                              )
                            }
                          spids: [6433]
                        )
                      ]
                      spids: [6433]
                    )
                  ]
                  spids: [6052 6441]
                )
              spids: [16777215 16777215]
            )
            (Case
              to_match: {($ VSub_Name '$arg_mode')}
              arms: [
                (case_arm
                  pat_list: [{(arg)}]
                  action: [
                    (C {(func_fatal_error)} {(DQ ('you must specify an argument for -Xcompile'))})
                  ]
                  spids: [6455 6456 6466 16777215]
                )
                (case_arm
                  pat_list: [{(target)}]
                  action: [
                    (C {(func_fatal_error)} 
                      {
                        (DQ ('you must specify a target with ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-o'")
                        )
                      }
                    )
                  ]
                  spids: [6469 6470 6482 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$libobj'))})
                        (BraceGroup
                          children: [
                            (C {(func_basename)} {(DQ ($ VSub_Name '$srcfile'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libobj)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                                  spids: [6513]
                                )
                              ]
                              spids: [6513]
                            )
                          ]
                          spids: [6503]
                        )
                      ]
                    )
                  ]
                  spids: [6485 6486 6522 16777215]
                )
              ]
              spids: [6448 6452 6525]
            )
            (Case
              to_match: {($ VSub_Name '$libobj')}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (.) (Lit_Other '[') (cCFSifmso) (Lit_Other ']')}
                    {(Lit_Other '*') (.ada)}
                    {(Lit_Other '*') (.adb)}
                    {(Lit_Other '*') (.ads)}
                    {(Lit_Other '*') (.asm)}
                    {(Lit_Other '*') (.c) (Lit_Other '+') (Lit_Other '+')}
                    {(Lit_Other '*') (.cc)}
                    {(Lit_Other '*') (.ii)}
                    {(Lit_Other '*') (.class)}
                    {(Lit_Other '*') (.cpp)}
                    {(Lit_Other '*') (.cxx)}
                    {(Lit_Other '*') (.) (Lit_Other '[') (fF) (Lit_Other ']') (Lit_Other '[') (09) 
                      (Lit_Other ']') (Lit_Other '?')
                    }
                    {(Lit_Other '*') (.for)}
                    {(Lit_Other '*') (.java)}
                    {(Lit_Other '*') (.obj)}
                    {(Lit_Other '*') (.sx)}
                  ]
                  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: [6649]
                        )
                      ]
                      spids: [6649]
                    )
                  ]
                  spids: [6544 6639 6653 16777215]
                )
              ]
              spids: [6537 6541 6656]
            )
            (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: [6678]
                        )
                      ]
                      spids: [6678]
                    )
                  ]
                  spids: [6667 6669 6681 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(func_fatal_error)} 
                      {
                        (DQ ('cannot determine name of library object from ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$libobj') ("'")
                        )
                      }
                    )
                  ]
                  spids: [6684 6685 6698 16777215]
                )
              ]
              spids: [6660 6664 6701]
            )
            (C {(func_infer_tag)} {($ VSub_Name '$base_compile')})
            (ForEach
              iter_name: arg
              iter_words: [{($ VSub_Name '$later')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$arg')}
                      arms: [
                        (case_arm
                          pat_list: [{(-shared)}]
                          action: [
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                )
                                (C {(func_fatal_configuration)} 
                                  {(DQ ('can not build a shared library'))}
                                )
                              ]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [6756]
                                )
                              ]
                              spids: [6756]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [6730 6731 6763 16777215]
                        )
                        (case_arm
                          pat_list: [{(-static)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [6771]
                                )
                              ]
                              spids: [6771]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [6775]
                                )
                              ]
                              spids: [6775]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [6767 6768 6782 16777215]
                        )
                        (case_arm
                          pat_list: [{(-prefer-pic)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:pic_mode)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [6790]
                                )
                              ]
                              spids: [6790]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [6786 6787 6797 16777215]
                        )
                        (case_arm
                          pat_list: [{(-prefer-non-pic)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:pic_mode)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [6805]
                                )
                              ]
                              spids: [6805]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [6801 6802 6812 16777215]
                        )
                      ]
                      spids: [6723 6727 6815]
                    )
                  ]
                  spids: [6720 6818]
                )
              spids: [6716 6718]
            )
            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$libobj'))})
            (AndOr
              ops: [Op_DAmp Op_DAmp]
              children: [
                (C {(test)} {(DQ (X) ($ VSub_Name '$libobj'))} {(KW_Bang '!') (Lit_Other '=')} 
                  {(DQ (X) ($ VSub_Name '$func_quote_for_eval_result'))}
                )
                (Pipeline
                  children: [
                    (C {($ VSub_Name '$ECHO')} {(DQ (X) ($ VSub_Name '$libobj'))})
                    (C {($ VSub_Name '$GREP')} {(SQ <'[]~#^*{};<>?"'>) (DQ ("'")) (SQ <'\t &()|`$[]'>)})
                  ]
                  negated: F
                )
                (C {(func_warning)} 
                  {
                    (DQ ('libobj name ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                      ($ VSub_Name '$libobj') ("' may not contain shell special characters.")
                    )
                  }
                )
              ]
            )
            (C {(func_dirname_and_basename)} {(DQ ($ VSub_Name '$obj'))} {(DQ (/))} {(DQ )})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:objname)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                  spids: [6897]
                )
              ]
              spids: [6897]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:xdir)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$func_dirname_result'))}
                  spids: [6903]
                )
              ]
              spids: [6903]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:lobj)
                  op: Equal
                  rhs: {(${ VSub_Name xdir) ($ VSub_Name '$objdir') (/) ($ VSub_Name '$objname')}
                  spids: [6909]
                )
              ]
              spids: [6909]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$base_compile'))})
                (C {(func_fatal_help)} {(DQ ('you must specify a compilation command'))})
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$build_old_libs'))} {(Lit_Other '=')} {(yes)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:removelist)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$obj') (' ') ($ VSub_Name '$lobj') (' ') 
                                ($ VSub_Name '$libobj') (' ') (${ VSub_Name libobj) (T)
                              )
                            }
                          spids: [6959]
                        )
                      ]
                      spids: [6959]
                    )
                  ]
                  spids: [16777215 6956]
                )
              ]
              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: [6977]
                    )
                  ]
                  spids: [6977]
                )
              ]
              spids: [6974 6990]
            )
            (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: [7030]
                        )
                      ]
                      spids: [7030]
                    )
                  ]
                  spids: [7005 7027 7034 16777215]
                )
              ]
              spids: [6998 7002 7037]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(test)} {(DQ ($ VSub_Name '$pic_mode'))} {(Lit_Other '=')} {(no)})
                            (C {(test)} {(DQ ($ VSub_Name '$deplibs_check_method'))} 
                              {(KW_Bang '!') (Lit_Other '=')} {(pass_all)}
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pic_mode)
                          op: Equal
                          rhs: {(default)}
                          spids: [7073]
                        )
                      ]
                      spids: [7073]
                    )
                  ]
                  spids: [16777215 7066]
                )
              ]
              spids: [16777215 7077]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(DQ ($ VSub_Name '$compiler_c_o'))} {(Lit_Other '=')} {(no)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:output_obj)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name '$ECHO')} {(DQ (X) ($ VSub_Name '$srcfile'))})
                                          (C {($ VSub_Name '$Xsed')} {(-e)} {(SQ <'s%^.*/%%'>)} {(-e)} 
                                            {(SQ <'s%\\.[^.]*$%%'>)}
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [7106 7129]
                              ) (.) (${ VSub_Name objext)
                            }
                          spids: [7105]
                        )
                      ]
                      spids: [7105]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:lockfile)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$output_obj') (.lock))}
                          spids: [7136]
                        )
                      ]
                      spids: [7136]
                    )
                  ]
                  spids: [16777215 7102]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:output_obj)
                      op: Equal
                      rhs: {(EmptyPart)}
                      spids: [7146]
                    )
                  ]
                  spids: [7146]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:need_locks)
                      op: Equal
                      rhs: {(no)}
                      spids: [7149]
                    )
                  ]
                  spids: [7149]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:lockfile)
                      op: Equal
                      rhs: {(EmptyPart)}
                      spids: [7153]
                    )
                  ]
                  spids: [7153]
                )
              ]
              spids: [7143 7156]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(DQ ($ VSub_Name '$need_locks'))} {(Lit_Other '=')} {(yes)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (WhileUntil
                      keyword: <KW_Until until>
                      cond: [
                        (Sentence
                          child: 
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (SimpleCommand
                                  words: [
                                    {(ln)}
                                    {(DQ ($ VSub_Name '$progpath'))}
                                    {(DQ ($ VSub_Name '$lockfile'))}
                                  ]
                                  redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                                )
                              ]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      body: 
                        (DoGroup
                          children: [
                            (C {(func_echo)} 
                              {(DQ ('Waiting for ') ($ VSub_Name '$lockfile') (' to be removed'))}
                            )
                            (C {(sleep)} {(2)})
                          ]
                          spids: [7204 7221]
                        )
                    )
                  ]
                  spids: [16777215 7181]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(DQ ($ VSub_Name '$need_locks'))} {(Lit_Other '=')} {(warn)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-f)} {(DQ ($ VSub_Name '$lockfile'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {($ VSub_Name '$ECHO')} 
                              {
                                (DQ ('*** ERROR, ') ($ VSub_Name '$lockfile') 
                                  (' exists and contains:\n') 
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (SimpleCommand
                                            words: [{(cat)} {($ VSub_Name '$lockfile')}]
                                            redirects: [
                                              (Redir
                                                op: <Redir_Great '2>'>
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [7261 7268]
                                  ) ('\n') ('\n') ('This indicates that another process is trying to use the same\n') 
                                  (
'temporary object file, and libtool could not work around it because\n'
                                  ) ('your compiler does not support ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-c' and ") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\`'>
                                  ) ("-o' together.  If you\n") 
                                  (
'repeat this compilation, it may succeed, by chance, but you had better\n'
                                  ) ('avoid parallel builds (make -j) in this platform, or get a better\n') (compiler.)
                                )
                              }
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (C {($ VSub_Name '$RM')} {($ VSub_Name '$removelist')})
                              ]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$EXIT_FAILURE')}
                            )
                          ]
                          spids: [16777215 7251]
                        )
                      ]
                      spids: [16777215 7299]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:removelist)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$removelist') (' ') ($ VSub_Name '$output_obj'))}
                          spids: [7302]
                        )
                      ]
                      spids: [7302]
                    )
                    (SimpleCommand
                      words: [{($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$srcfile'))}]
                      redirects: [
                        (Redir
                          op: <Redir_Great '>'>
                          fd: 16777215
                          arg_word: {(DQ ($ VSub_Name '$lockfile'))}
                        )
                      ]
                    )
                  ]
                  spids: [7224 7237]
                )
              ]
              spids: [16777215 7323]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {($ VSub_Name '$opt_dry_run')})
                (C {($ VSub_Name '$RM')} {($ VSub_Name '$removelist')})
              ]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:removelist)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$removelist') (' ') ($ VSub_Name '$lockfile'))}
                  spids: [7336]
                )
              ]
              spids: [7336]
            )
            (C {(trap)} {(SQ <'$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'>)} {(1)} {(2)} {(15)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$fix_srcfile_path'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(eval)} 
                      {(Lit_VarLike 'srcfile=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                        ($ VSub_Name '$fix_srcfile_path') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                      }
                    )
                  ]
                  spids: [16777215 7369]
                )
              ]
              spids: [16777215 7380]
            )
            (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: [7390]
                )
              ]
              spids: [7390]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} {(Lit_Other '=')} {(yes)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:fbsd_hideous_sh_bug)
                          op: Equal
                          rhs: {($ VSub_Name '$base_compile')}
                          spids: [7419]
                        )
                      ]
                      spids: [7419]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$pic_mode'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(no)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$base_compile') (' ') ($ VSub_Name '$qsrcfile') 
                                        (' ') ($ VSub_Name '$pic_flag')
                                      )
                                    }
                                  spids: [7441]
                                )
                              ]
                              spids: [7441]
                            )
                          ]
                          spids: [16777215 7438]
                        )
                      ]
                      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: [7458]
                            )
                          ]
                          spids: [7458]
                        )
                      ]
                      spids: [7451 7466]
                    )
                    (C {(func_mkdir_p)} {(DQ ($ VSub_Name '$xdir') ($ VSub_Name '$objdir'))})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$output_obj'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:command)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$command') (' -o ') ($ VSub_Name '$lobj'))}
                                  spids: [7497]
                                )
                              ]
                              spids: [7497]
                            )
                          ]
                          spids: [16777215 7490]
                        )
                      ]
                      spids: [16777215 7505]
                    )
                    (C {(func_show_eval_locale)} {(DQ ($ VSub_Name '$command'))} 
                      {(SQ <'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'>)}
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(DQ ($ VSub_Name '$need_locks'))} {(Lit_Other '=')} 
                                      {(warn)}
                                    )
                                    (C {(test)} 
                                      {
                                        (DQ (X) 
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (SimpleCommand
                                                    words: [{(cat)} {($ VSub_Name '$lockfile')}]
                                                    redirects: [
                                                      (Redir
                                                        op: <Redir_Great '2>'>
                                                        fd: 2
                                                        arg_word: {(/dev/null)}
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [7542 7549]
                                          )
                                        )
                                      } {(KW_Bang '!') (Lit_Other '=')} {(DQ (X) ($ VSub_Name '$srcfile'))}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {($ VSub_Name '$ECHO')} 
                              {
                                (DQ ('*** ERROR, ') ($ VSub_Name '$lockfile') (' contains:\n') 
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (SimpleCommand
                                            words: [{(cat)} {($ VSub_Name '$lockfile')}]
                                            redirects: [
                                              (Redir
                                                op: <Redir_Great '2>'>
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [7571 7578]
                                  ) ('\n') ('\n') ('but it should contain:\n') ($ VSub_Name '$srcfile') ('\n') ('\n') 
                                  (
'This indicates that another process is trying to use the same\n'
                                  ) ('temporary object file, and libtool could not work around it because\n') 
                                  ('your compiler does not support ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-c' and ") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\`'>
                                  ) ("-o' together.  If you\n") 
                                  (
'repeat this compilation, it may succeed, by chance, but you had better\n'
                                  ) ('avoid parallel builds (make -j) in this platform, or get a better\n') (compiler.)
                                )
                              }
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (C {($ VSub_Name '$RM')} {($ VSub_Name '$removelist')})
                              ]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$EXIT_FAILURE')}
                            )
                          ]
                          spids: [16777215 7561]
                        )
                      ]
                      spids: [16777215 7613]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$output_obj'))})
                                    (C {(test)} {(DQ (X) ($ VSub_Name '$output_obj'))} 
                                      {(KW_Bang '!') (Lit_Other '=')} {(DQ (X) ($ VSub_Name '$lobj'))}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_show_eval)} {(SQ <'$MV "$output_obj" "$lobj"'>)} 
                              {(SQ <'error=$?; $opt_dry_run || $RM $removelist; exit $error'>)}
                            )
                          ]
                          spids: [16777215 7649]
                        )
                      ]
                      spids: [16777215 7665]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$suppress_opt'))} {(Lit_Other '=')} 
                                  {(yes)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:suppress_output)
                                  op: Equal
                                  rhs: {(SQ <' >/dev/null 2>&1'>)}
                                  spids: [7689]
                                )
                              ]
                              spids: [7689]
                            )
                          ]
                          spids: [16777215 7686]
                        )
                      ]
                      spids: [16777215 7695]
                    )
                  ]
                  spids: [16777215 7412]
                )
              ]
              spids: [16777215 7698]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$build_old_libs'))} {(Lit_Other '=')} {(yes)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$pic_mode'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$base_compile') (' ') ($ VSub_Name '$qsrcfile') 
                                        ($ VSub_Name '$pie_flag')
                                      )
                                    }
                                  spids: [7743]
                                )
                              ]
                              spids: [7743]
                            )
                          ]
                          spids: [16777215 7736]
                        )
                      ]
                      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: [7755]
                            )
                          ]
                          spids: [7755]
                        )
                      ]
                      spids: [7752 7765]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$compiler_c_o'))} {(Lit_Other '=')} 
                                  {(yes)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:command)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$command') (' -o ') ($ VSub_Name '$obj'))}
                                  spids: [7784]
                                )
                              ]
                              spids: [7784]
                            )
                          ]
                          spids: [16777215 7781]
                        )
                      ]
                      spids: [16777215 7792]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:command)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$command') ($ VSub_Name '$suppress_output'))}
                          spids: [7800]
                        )
                      ]
                      spids: [7800]
                    )
                    (C {(func_show_eval_locale)} {(DQ ($ VSub_Name '$command'))} 
                      {(SQ <'$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'>)}
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(DQ ($ VSub_Name '$need_locks'))} {(Lit_Other '=')} 
                                      {(warn)}
                                    )
                                    (C {(test)} 
                                      {
                                        (DQ (X) 
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (SimpleCommand
                                                    words: [{(cat)} {($ VSub_Name '$lockfile')}]
                                                    redirects: [
                                                      (Redir
                                                        op: <Redir_Great '2>'>
                                                        fd: 2
                                                        arg_word: {(/dev/null)}
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [7840 7847]
                                          )
                                        )
                                      } {(KW_Bang '!') (Lit_Other '=')} {(DQ (X) ($ VSub_Name '$srcfile'))}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {($ VSub_Name '$ECHO')} 
                              {
                                (DQ ('*** ERROR, ') ($ VSub_Name '$lockfile') (' contains:\n') 
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (SimpleCommand
                                            words: [{(cat)} {($ VSub_Name '$lockfile')}]
                                            redirects: [
                                              (Redir
                                                op: <Redir_Great '2>'>
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [7869 7876]
                                  ) ('\n') ('\n') ('but it should contain:\n') ($ VSub_Name '$srcfile') ('\n') ('\n') 
                                  (
'This indicates that another process is trying to use the same\n'
                                  ) ('temporary object file, and libtool could not work around it because\n') 
                                  ('your compiler does not support ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-c' and ") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\`'>
                                  ) ("-o' together.  If you\n") 
                                  (
'repeat this compilation, it may succeed, by chance, but you had better\n'
                                  ) ('avoid parallel builds (make -j) in this platform, or get a better\n') (compiler.)
                                )
                              }
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (C {($ VSub_Name '$RM')} {($ VSub_Name '$removelist')})
                              ]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$EXIT_FAILURE')}
                            )
                          ]
                          spids: [16777215 7859]
                        )
                      ]
                      spids: [16777215 7911]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$output_obj'))})
                                    (C {(test)} {(DQ (X) ($ VSub_Name '$output_obj'))} 
                                      {(KW_Bang '!') (Lit_Other '=')} {(DQ (X) ($ VSub_Name '$obj'))}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_show_eval)} {(SQ <'$MV "$output_obj" "$obj"'>)} 
                              {(SQ <'error=$?; $opt_dry_run || $RM $removelist; exit $error'>)}
                            )
                          ]
                          spids: [16777215 7947]
                        )
                      ]
                      spids: [16777215 7963]
                    )
                  ]
                  spids: [16777215 7719]
                )
              ]
              spids: [16777215 7966]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {($ VSub_Name '$opt_dry_run')})
                (BraceGroup
                  children: [
                    (C {(func_write_libtool_object)} {(DQ ($ VSub_Name '$libobj'))} 
                      {(DQ ($ VSub_Name '$objdir') (/) ($ VSub_Name '$objname'))} {(DQ ($ VSub_Name '$objname'))}
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$need_locks'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(no)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:removelist)
                                  op: Equal
                                  rhs: {($ VSub_Name '$lockfile')}
                                  spids: [8016]
                                )
                              ]
                              spids: [8016]
                            )
                            (C {($ VSub_Name '$RM')} {(DQ ($ VSub_Name '$lockfile'))})
                          ]
                          spids: [16777215 8013]
                        )
                      ]
                      spids: [16777215 8027]
                    )
                  ]
                  spids: [7974]
                )
              ]
            )
            (ControlFlow
              token: <ControlFlow_Exit exit>
              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
            )
          ]
          spids: [6004]
        )
      spids: [5999 6003]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {($ VSub_Name '$opt_help')})
        (BraceGroup
          children: [
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} {(compile)})
                (C {(func_mode_compile)} 
                  {
                    (BracedVarSub
                      token: <VSub_Number 1>
                      suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                      spids: [8061 8067]
                    )
                  }
                )
              ]
            )
          ]
          spids: [8045]
        )
      ]
    )
    (FuncDef
      name: func_mode_help
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {($ VSub_Name '$mode')}
              arms: [
                (case_arm
                  pat_list: [{(DQ )}]
                  action: [(C {(func_help)})]
                  spids: [8091 8093 8107 16777215]
                )
                (case_arm
                  pat_list: [{(clean)}]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('Usage: ') ($ VSub_Name '$progname') 
                          (' [OPTION]... --mode=clean RM [RM-OPTION]... FILE...\n') ('\n') ('Remove files from the build directory.\n') ('\n') 
                          (
'RM is the name of the program to use to delete files associated with each FILE\n'
                          ) ('(typically ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                          ("/bin/rm').  RM-OPTIONS are options (such as ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-f') to be passed\n") ('to RM.\n') ('\n') 
                          (
'If FILE is a libtool library, object or program, all the files associated\n'
                          ) ('with it are deleted. Otherwise, only FILE itself is deleted using RM.')
                        )
                      }
                    )
                  ]
                  spids: [8111 8112 8138 16777215]
                )
                (case_arm
                  pat_list: [{(compile)}]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('Usage: ') ($ VSub_Name '$progname') 
                          (' [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE\n') ('\n') ('Compile a source file into a libtool library object.\n') ('\n') 
                          ('This mode accepts the following additional options:\n') ('\n') ('  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE\n') 
                          (
'  -no-suppress      do not suppress compiler output for multiple passes\n'
                          ) ('  -prefer-pic       try to building PIC objects only\n') 
                          ('  -prefer-non-pic   try to building non-PIC objects only\n') ('  -shared           do not build a ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                          (".o' file suitable for static linking\n") ('  -static           only build a ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                          (".o' file suitable for static linking\n") ('\n') ('COMPILE-COMMAND is a command to be used in creating a ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("standard' object file\n") ('from the given SOURCEFILE.\n') ('\n') 
                          (
'The output file name is determined by removing the directory component from\n'
                          ) ('SOURCEFILE, then substituting the C source code suffix ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (".c' with the\n") ('library object suffix, ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                          (".lo'.")
                        )
                      }
                    )
                  ]
                  spids: [8142 8143 8184 16777215]
                )
                (case_arm
                  pat_list: [{(execute)}]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('Usage: ') ($ VSub_Name '$progname') 
                          (' [OPTION]... --mode=execute COMMAND [ARGS]...\n') ('\n') ('Automatically set library path, then run a program.\n') ('\n') 
                          ('This mode accepts the following additional options:\n') ('\n') ('  -dlopen FILE      add the directory containing FILE to the library path\n') ('\n') 
                          ('This mode sets the library path environment variable according to ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-dlopen'\n") ('flags.\n') ('\n') 
                          (
'If any of the ARGS are libtool executable wrappers, then they are translated\n'
                          ) ('into their corresponding uninstalled binary, and any of their required library\n') 
                          ('directories are added to the library path.\n') ('\n') ('Then, COMMAND is executed, with ARGS as arguments.')
                        )
                      }
                    )
                  ]
                  spids: [8188 8189 8219 16777215]
                )
                (case_arm
                  pat_list: [{(finish)}]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('Usage: ') ($ VSub_Name '$progname') 
                          (' [OPTION]... --mode=finish [LIBDIR]...\n') ('\n') ('Complete the installation of libtool libraries.\n') ('\n') 
                          ('Each LIBDIR is a directory that contains libtool libraries.\n') ('\n') ('The commands that this mode executes may require superuser privileges.  Use\n') ('the ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("--dry-run' option if you just want to see what would be executed.")
                        )
                      }
                    )
                  ]
                  spids: [8223 8224 8246 16777215]
                )
                (case_arm
                  pat_list: [{(install)}]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('Usage: ') ($ VSub_Name '$progname') 
                          (' [OPTION]... --mode=install INSTALL-COMMAND...\n') ('\n') ('Install executables or libraries.\n') ('\n') 
                          (
'INSTALL-COMMAND is the installation command.  The first component should be\n'
                          ) ('either the ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("install' or ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("cp' program.\n") ('\n') ('The following components of INSTALL-COMMAND are treated specially:\n') 
                          ('\n') ('  -inst-prefix 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: [8250 8251 8280 16777215]
                )
                (case_arm
                  pat_list: [{(link)}]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('Usage: ') ($ VSub_Name '$progname') 
                          (' [OPTION]... --mode=link LINK-COMMAND...\n') ('\n') ('Link object files or libraries together to form another library, or to\n') 
                          ('create an executable program.\n') ('\n') ('LINK-COMMAND is a command using the C compiler that you would use to create\n') 
                          ('a program from several object files.\n') ('\n') ('The following components of LINK-COMMAND are treated specially:\n') ('\n') 
                          ('  -all-static       do not do any dynamic linking at all\n') ('  -avoid-version    do not add a version suffix if possible\n') ('  -dlopen FILE      ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-dlpreopen' FILE if it cannot be dlopened at runtime\n") 
                          (
'  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols\n'
                          ) ('  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)\n') 
                          ('  -export-symbols SYMFILE\n') ('                    try to export only the symbols listed in SYMFILE\n') 
                          ('  -export-symbols-regex REGEX\n') ('                    try to export only the symbols matching REGEX\n') 
                          ('  -LLIBDIR          search LIBDIR for required installed libraries\n') ('  -lNAME            OUTPUT-FILE requires the installed library libNAME\n') 
                          ('  -module           build a library that can dlopened\n') ('  -no-fast-install  disable the fast-install mode\n') 
                          ('  -no-install       link a not-installable executable\n') ('  -no-undefined     declare that a library does not refer to external symbols\n') 
                          ('  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects\n') ('  -objectlist FILE  Use a list of object files found in FILE to specify objects\n') 
                          ('  -precious-files-regex REGEX\n') ("                    don't remove output files matching REGEX\n") 
                          ('  -release RELEASE  specify package release information\n') ('  -rpath LIBDIR     the created library will eventually be installed in LIBDIR\n') 
                          (
'  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries\n'
                          ) ('  -shared           only do dynamic linking of libtool libraries\n') 
                          (
'  -shrext SUFFIX    override the standard shared library file extension\n'
                          ) ('  -static           do not do any dynamic linking of uninstalled libtool libraries\n') 
                          ('  -static-libtool-libs\n') ('                    do not do any dynamic linking of libtool libraries\n') 
                          ('  -version-info CURRENT[:REVISION[:AGE]]\n') ('                    specify library version info [each variable defaults to 0]\n') 
                          (
'  -weak LIBNAME     declare that the target provides the LIBNAME interface\n'
                          ) ('\n') ('All other options (arguments beginning with ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-') are ignored.\n") ('\n') ('Every other argument is treated as a filename.  Files ending in ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (".la' are\n") ('treated as uninstalled libtool libraries, other files are standard or library\n') 
                          ('object files.\n') ('\n') ('If the OUTPUT-FILE ends in ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                          (".la', then a libtool library is created,\n") ('only library objects (') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                          (".lo' files) may be specified, and ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-rpath' is\n") 
                          ('required, except when creating a convenience library.\n') ('\n') ('If OUTPUT-FILE ends in ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (".a' or ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (".lib', then a standard library is created\n") ('using ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("ar' and ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("ranlib', or on Windows using ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("lib'.\n") ('\n') ('If OUTPUT-FILE ends in ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                          (".lo' or ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (.) (${ VSub_Name objext) 
                          ("', then a reloadable object file\n") ('is created, otherwise an executable program is created.')
                        )
                      }
                    )
                  ]
                  spids: [8284 8285 8383 16777215]
                )
                (case_arm
                  pat_list: [{(uninstall)}]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('Usage: ') ($ VSub_Name '$progname') 
                          (' [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...\n') ('\n') ('Remove libraries from an installation directory.\n') ('\n') 
                          (
'RM is the name of the program to use to delete files associated with each FILE\n'
                          ) ('(typically ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                          ("/bin/rm').  RM-OPTIONS are options (such as ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-f') to be passed\n") ('to RM.\n') ('\n') 
                          (
'If FILE is a libtool library, all the files associated with it are deleted.\n'
                          ) ('Otherwise, only FILE itself is deleted using RM.')
                        )
                      }
                    )
                  ]
                  spids: [8387 8388 8414 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(func_fatal_help)} 
                      {
                        (DQ ('invalid operation mode ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$mode') ("'")
                        )
                      }
                    )
                  ]
                  spids: [8418 8419 8432 16777215]
                )
              ]
              spids: [8084 8088 8435]
            )
            (C {($ VSub_Name '$ECHO')})
            (C {($ VSub_Name '$ECHO')} 
              {
                (DQ ('Try ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                  ($ VSub_Name '$progname') (" --help' for more information about other modes.")
                )
              }
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_QMark '$?')})
          ]
          spids: [8077]
        )
      spids: [8072 8076]
    )
    (AndOr ops:[Op_DAmp] children:[(C {($ VSub_Name '$opt_help')}) (C {(func_mode_help)})])
    (FuncDef
      name: func_mode_execute
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:cmd)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$nonopt'))}
                  spids: [8491]
                )
              ]
              spids: [8491]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$cmd'))})
                (C {(func_fatal_help)} {(DQ ('you must specify a COMMAND'))})
              ]
            )
            (ForEach
              iter_name: file
              iter_words: [{($ VSub_Name '$execute_dlfiles')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(test)} {(-f)} {(DQ ($ VSub_Name '$file'))})
                        (C {(func_fatal_help)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                              ($ VSub_Name '$file') ("' is not a file")
                            )
                          }
                        )
                      ]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dir)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [8555]
                        )
                      ]
                      spids: [8555]
                    )
                    (Case
                      to_match: {($ VSub_Name '$file')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.la)}]
                          action: [
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(func_lalib_unsafe_p)} {(DQ ($ VSub_Name '$file'))})
                                (C {(func_fatal_help)} 
                                  {
                                    (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ($ VSub_Name '$lib') ("' is not a valid libtool archive")
                                    )
                                  }
                                )
                              ]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlname)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [8598]
                                )
                              ]
                              spids: [8598]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:library_names)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [8601]
                                )
                              ]
                              spids: [8601]
                            )
                            (C {(func_source)} {(DQ ($ VSub_Name '$file'))})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$dlname'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$library_names'))})
                                        (C {(func_warning)} 
                                          {
                                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                              ($ VSub_Name '$file') ("' was not linked with ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-export-dynamic'")
                                            )
                                          }
                                        )
                                      ]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [16777215 8627]
                                )
                              ]
                              spids: [16777215 8660]
                            )
                            (C {(func_dirname)} {(DQ ($ VSub_Name '$file'))} {(DQ )} {(DQ (.))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dir)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$func_dirname_result'))}
                                  spids: [8678]
                                )
                              ]
                              spids: [8678]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-f)} 
                                          {
                                            (DQ ($ VSub_Name '$dir') (/) ($ VSub_Name '$objdir') (/) 
                                              ($ VSub_Name '$dlname')
                                            )
                                          }
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dir)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$dir') (/) ($ VSub_Name '$objdir'))}
                                          spids: [8703]
                                        )
                                      ]
                                      spids: [8703]
                                    )
                                  ]
                                  spids: [16777215 8700]
                                )
                              ]
                              else_action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(test)} {(KW_Bang '!')} {(-f)} 
                                              {(DQ ($ VSub_Name '$dir') (/) ($ VSub_Name '$dlname'))}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ('cannot find ') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\`'>
                                              ) ($ VSub_Name '$dlname') ("' in ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                              ($ VSub_Name '$dir') ("' or ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$dir') (/) 
                                              ($ VSub_Name '$objdir') ("'")
                                            )
                                          }
                                        )
                                      ]
                                      spids: [16777215 8729]
                                    )
                                  ]
                                  spids: [16777215 8750]
                                )
                              ]
                              spids: [8711 8753]
                            )
                          ]
                          spids: [8565 8567 8756 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.lo)}]
                          action: [
                            (C {(func_dirname)} {(DQ ($ VSub_Name '$file'))} {(DQ )} {(DQ (.))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dir)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$func_dirname_result'))}
                                  spids: [8783]
                                )
                              ]
                              spids: [8783]
                            )
                          ]
                          spids: [8760 8762 8789 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (C {(func_warning)} 
                              {
                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                  ("-dlopen' is ignored for non-libtool libraries and objects")
                                )
                              }
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [8793 8794 8808 16777215]
                        )
                      ]
                      spids: [8558 8562 8811]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:absdir)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (AndOr
                                        ops: [Op_DAmp]
                                        children: [(C {(cd)} {(DQ ($ VSub_Name '$dir'))}) (C {(pwd)})]
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [8820 8830]
                              )
                            }
                          spids: [8819]
                        )
                      ]
                      spids: [8819]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$absdir'))})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:dir)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$absdir'))}
                              spids: [8843]
                            )
                          ]
                          spids: [8843]
                        )
                      ]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(eval)} 
                                  {
                                    (DQ ('test -z ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\$'>
                                      ) ($ VSub_Name '$shlibpath_var') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                    )
                                  }
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(eval)} 
                              {
                                (DQ ($ VSub_Name '$shlibpath_var') ('=') 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\"'>
                                  ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (dir) 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\"'>
                                  )
                                )
                              }
                            )
                          ]
                          spids: [16777215 8867]
                        )
                      ]
                      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: [8882 8899]
                    )
                  ]
                  spids: [8530 8902]
                )
              spids: [8526 8528]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_execute_magic)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$magic'))}
                  spids: [8914]
                )
              ]
              spids: [8914]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:args) op:Equal rhs:{(EmptyPart)} spids:[8925])]
              spids: [8925]
            )
            (ForEach
              iter_name: file
              do_arg_iter: T
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$file')}
                      arms: [
                        (case_arm
                          pat_list: [{(-) (Lit_Other '*')}]
                          spids: [8943 8945 8947 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(func_ltwrapper_script_p)} {(DQ ($ VSub_Name '$file'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_source)} {(DQ ($ VSub_Name '$file'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:file)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$progdir') (/) ($ VSub_Name '$program'))
                                            }
                                          spids: [8981]
                                        )
                                      ]
                                      spids: [8981]
                                    )
                                  ]
                                  spids: [16777215 8967]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(func_ltwrapper_executable_p)} {(DQ ($ VSub_Name '$file'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_ltwrapper_scriptname)} {(DQ ($ VSub_Name '$file'))})
                                    (C {(func_source)} 
                                      {(DQ ($ VSub_Name '$func_ltwrapper_scriptname_result'))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:file)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$progdir') (/) ($ VSub_Name '$program'))
                                            }
                                          spids: [9019]
                                        )
                                      ]
                                      spids: [9019]
                                    )
                                  ]
                                  spids: [8989 8998]
                                )
                              ]
                              spids: [16777215 9027]
                            )
                          ]
                          spids: [8950 8951 9030 16777215]
                        )
                      ]
                      spids: [8936 8940 9033]
                    )
                    (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$file'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:args)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$args') (' ') 
                                ($ VSub_Name '$func_quote_for_eval_result')
                              )
                            }
                          spids: [9047]
                        )
                      ]
                      spids: [9047]
                    )
                  ]
                  spids: [8933 9055]
                )
              spids: [16777215 16777215]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ (X) ($ VSub_Name '$opt_dry_run'))} {(Lit_Other '=')} {(Xfalse)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$shlibpath_var'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(eval)} {(DQ ('export ') ($ VSub_Name '$shlibpath_var'))})]
                          spids: [16777215 9087]
                        )
                      ]
                      spids: [16777215 9102]
                    )
                    (ForEach
                      iter_name: lt_var
                      iter_words: [
                        {(LANG)}
                        {(LANGUAGE)}
                        {(LC_ALL)}
                        {(LC_CTYPE)}
                        {(LC_COLLATE)}
                        {(LC_MESSAGES)}
                      ]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (C {(eval)} 
                              {
                                (DQ ('if test ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\$'>
                                  ) ('{save_') ($ VSub_Name '$lt_var') ('+set}') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                  (' = set; then\n') ('                ') ($ VSub_Name '$lt_var') ('=') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                                  (save_) ($ VSub_Name '$lt_var') ('; export ') ($ VSub_Name '$lt_var') ('\n') ('\t      else\n') ('\t\t') 
                                  ($ VSub_Name '$lt_unset') (' ') ($ VSub_Name '$lt_var') ('\n') ('\t      fi')
                                )
                              }
                            )
                          ]
                          spids: [9129 9162]
                        )
                      spids: [9115 16777215]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:exec_cmd)
                          op: Equal
                          rhs: 
                            {
                              (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (cmd) 
                                ($ VSub_Name '$args')
                              )
                            }
                          spids: [9170]
                        )
                      ]
                      spids: [9170]
                    )
                  ]
                  spids: [16777215 9073]
                )
              ]
              else_action: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$shlibpath_var'))})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(eval)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO ') 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\"'>
                              ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('shlibpath_var=') 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\$'>
                              ) ($ VSub_Name '$shlibpath_var') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                            )
                          }
                        )
                        (C {($ VSub_Name '$ECHO')} {(DQ ('export ') ($ VSub_Name '$shlibpath_var'))})
                      ]
                      spids: [16777215 9196]
                    )
                  ]
                  spids: [16777215 9221]
                )
                (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$cmd') ($ VSub_Name '$args'))})
                (ControlFlow
                  token: <ControlFlow_Exit exit>
                  arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                )
              ]
              spids: [9178 9237]
            )
          ]
          spids: [8481]
        )
      spids: [8476 8480]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} {(execute)})
        (C {(func_mode_execute)} 
          {
            (BracedVarSub
              token: <VSub_Number 1>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
              spids: [9256 9262]
            )
          }
        )
      ]
    )
    (FuncDef
      name: func_mode_finish
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libdirs)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$nonopt'))}
                  spids: [9280]
                )
              ]
              spids: [9280]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:admincmds)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [9286]
                )
              ]
              spids: [9286]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(test)} {(-n)} 
                              {(DQ ($ VSub_Name '$finish_cmds') ($ VSub_Name '$finish_eval'))}
                            )
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$libdirs'))})
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (ForEach
                      iter_name: dir
                      do_arg_iter: T
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libdirs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$libdirs') (' ') ($ VSub_Name '$dir'))}
                                  spids: [9323]
                                )
                              ]
                              spids: [9323]
                            )
                          ]
                          spids: [9320 9331]
                        )
                      spids: [16777215 16777215]
                    )
                    (ForEach
                      iter_name: libdir
                      iter_words: [{($ VSub_Name '$libdirs')}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$finish_cmds'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$finish_cmds'))} 
                                      {(SQ <'admincmds="$admincmds\n'>) (DQ ($ VSub_Name '$cmd')) 
                                        (SQ <'"'>)
                                      }
                                    )
                                  ]
                                  spids: [16777215 9358]
                                )
                              ]
                              spids: [16777215 9382]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$finish_eval'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {(Lit_VarLike 'cmds=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) ($ VSub_Name '$finish_eval') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                      }
                                    )
                                    (AndOr
                                      ops: [Op_DPipe Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (C {(eval)} {(DQ ($ VSub_Name '$cmds'))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:admincmds)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$admincmds') ('\n') ('       ') 
                                                    ($ VSub_Name '$cmds')
                                                  )
                                                }
                                              spids: [9423]
                                            )
                                          ]
                                          spids: [9423]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 9396]
                                )
                              ]
                              spids: [16777215 9432]
                            )
                          ]
                          spids: [9344 9435]
                        )
                      spids: [9340 9342]
                    )
                  ]
                  spids: [16777215 9312]
                )
              ]
              spids: [16777215 9438]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {($ VSub_Name '$opt_silent')})
                (ControlFlow
                  token: <ControlFlow_Exit exit>
                  arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                )
              ]
            )
            (Pipeline
              children: [
                (C {($ VSub_Name '$ECHO')} 
                  {(DQ (X----------------------------------------------------------------------))}
                )
                (C {($ VSub_Name '$Xsed')})
              ]
              negated: F
            )
            (C {($ VSub_Name '$ECHO')} {(DQ ('Libraries have been installed in:'))})
            (ForEach
              iter_name: libdir
              iter_words: [{($ VSub_Name '$libdirs')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [(C {($ VSub_Name '$ECHO')} {(DQ ('   ') ($ VSub_Name '$libdir'))})]
                  spids: [9483 9494]
                )
              spids: [9479 9481]
            )
            (C {($ VSub_Name '$ECHO')})
            (C {($ VSub_Name '$ECHO')} 
              {(DQ ('If you ever happen to want to link against installed libraries'))}
            )
            (C {($ VSub_Name '$ECHO')} 
              {(DQ ('in a given directory, LIBDIR, you must either use libtool, and'))}
            )
            (C {($ VSub_Name '$ECHO')} 
              {
                (DQ ('specify the full pathname of the library, or use the ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-LLIBDIR'")
                )
              }
            )
            (C {($ VSub_Name '$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 {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('   - add LIBDIR to the ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$shlibpath_var') ("' environment variable")
                        )
                      }
                    )
                    (C {($ VSub_Name '$ECHO')} {(DQ ('     during execution'))})
                  ]
                  spids: [16777215 9541]
                )
              ]
              spids: [16777215 9561]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$runpath_var'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('   - add LIBDIR to the ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$runpath_var') ("' environment variable")
                        )
                      }
                    )
                    (C {($ VSub_Name '$ECHO')} {(DQ ('     during linking'))})
                  ]
                  spids: [16777215 9575]
                )
              ]
              spids: [16777215 9595]
            )
            (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: [9612]
                        )
                      ]
                      spids: [9612]
                    )
                    (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 ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                          ($ VSub_Name '$flag') ("' linker flag")
                        )
                      }
                    )
                  ]
                  spids: [16777215 9609]
                )
              ]
              spids: [16777215 9635]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$admincmds'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('   - have your system administrator run these commands:') 
                          ($ VSub_Name '$admincmds')
                        )
                      }
                    )
                  ]
                  spids: [16777215 9649]
                )
              ]
              spids: [16777215 9660]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-f)} {(/etc/ld.so.conf)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('   - have your system administrator add LIBDIR to ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("/etc/ld.so.conf'")
                        )
                      }
                    )
                  ]
                  spids: [16777215 9672]
                )
              ]
              spids: [16777215 9684]
            )
            (C {($ VSub_Name '$ECHO')})
            (C {($ VSub_Name '$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 {($ VSub_Name '$ECHO')} 
                      {(DQ ('more information, such as the ld(1), crle(1) and ld.so(8) manual'))}
                    )
                    (C {($ VSub_Name '$ECHO')} {(DQ (pages.))})
                  ]
                  spids: [9705 9714 9731 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {(DQ ('more information, such as the ld(1) and ld.so(8) manual pages.'))}
                    )
                  ]
                  spids: [9734 9735 9745 16777215]
                )
              ]
              spids: [9698 9702 9748]
            )
            (Pipeline
              children: [
                (C {($ VSub_Name '$ECHO')} 
                  {(DQ (X----------------------------------------------------------------------))}
                )
                (C {($ VSub_Name '$Xsed')})
              ]
              negated: F
            )
            (ControlFlow
              token: <ControlFlow_Exit exit>
              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
            )
          ]
          spids: [9274]
        )
      spids: [9269 9273]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} {(finish)})
        (C {(func_mode_finish)} 
          {
            (BracedVarSub
              token: <VSub_Number 1>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
              spids: [9783 9789]
            )
          }
        )
      ]
    )
    (FuncDef
      name: func_mode_install
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DPipe Op_DPipe]
                          children: [
                            (C {(test)} {(DQ ($ VSub_Name '$nonopt'))} {(Lit_Other '=')} 
                              {(DQ ($ VSub_Name '$SHELL'))}
                            )
                            (C {(test)} {(DQ ($ VSub_Name '$nonopt'))} {(Lit_Other '=')} {(/bin/sh)})
                            (Pipeline
                              children: [
                                (C {($ VSub_Name '$ECHO')} {(DQ (X) ($ VSub_Name '$nonopt'))})
                                (SimpleCommand
                                  words: [{($ VSub_Name '$GREP')} {(shtool)}]
                                  redirects: [
                                    (Redir
                                      op: <Redir_Great '>'>
                                      fd: 16777215
                                      arg_word: {(/dev/null)}
                                    )
                                  ]
                                )
                              ]
                              negated: F
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$nonopt'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:install_prog)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$func_quote_for_eval_result') (' '))}
                          spids: [9879]
                        )
                      ]
                      spids: [9879]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:arg)
                          op: Equal
                          rhs: {($ VSub_Number '$1')}
                          spids: [9886]
                        )
                      ]
                      spids: [9886]
                    )
                    (C {(shift)})
                  ]
                  spids: [16777215 9865]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:install_prog)
                      op: Equal
                      rhs: {(EmptyPart)}
                      spids: [9896]
                    )
                  ]
                  spids: [9896]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:arg)
                      op: Equal
                      rhs: {($ VSub_Name '$nonopt')}
                      spids: [9899]
                    )
                  ]
                  spids: [9899]
                )
              ]
              spids: [9893 9903]
            )
            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$arg'))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_prog)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$install_prog') ($ VSub_Name '$func_quote_for_eval_result'))}
                  spids: [9922]
                )
              ]
              spids: [9922]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dest) op:Equal rhs:{(EmptyPart)} spids:[9934])]
              spids: [9934]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:files) op:Equal rhs:{(EmptyPart)} spids:[9937])]
              spids: [9937]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:opts) op:Equal rhs:{(EmptyPart)} spids:[9940])]
              spids: [9940]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:prev) op:Equal rhs:{(EmptyPart)} spids:[9943])]
              spids: [9943]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_type)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [9946]
                )
              ]
              spids: [9946]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:isdir) op:Equal rhs:{(no)} spids:[9949])]
              spids: [9949]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:stripme)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [9953]
                )
              ]
              spids: [9953]
            )
            (ForEach
              iter_name: arg
              do_arg_iter: T
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dest'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:files)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$files') (' ') ($ VSub_Name '$dest'))}
                                  spids: [9978]
                                )
                              ]
                              spids: [9978]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dest)
                                  op: Equal
                                  rhs: {($ VSub_Name '$arg')}
                                  spids: [9986]
                                )
                              ]
                              spids: [9986]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [16777215 9975]
                        )
                      ]
                      spids: [16777215 9993]
                    )
                    (Case
                      to_match: {($ VSub_Name '$arg')}
                      arms: [
                        (case_arm
                          pat_list: [{(-d)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:isdir)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [10007]
                                )
                              ]
                              spids: [10007]
                            )
                          ]
                          spids: [10004 10005 10010 16777215]
                        )
                        (case_arm
                          pat_list: [{(-f)}]
                          action: [
                            (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 '*')
                                    }
                                  ]
                                  spids: [10028 10037 10039 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {($ VSub_Name '$arg')}
                                          spids: [10045]
                                        )
                                      ]
                                      spids: [10045]
                                    )
                                  ]
                                  spids: [10042 10043 10048 16777215]
                                )
                              ]
                              spids: [10017 10025 10051]
                            )
                          ]
                          spids: [10013 10014 10054 16777215]
                        )
                        (case_arm
                          pat_list: [{(-g)} {(-m)} {(-o)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {($ VSub_Name '$arg')}
                                  spids: [10069]
                                )
                              ]
                              spids: [10069]
                            )
                          ]
                          spids: [10057 10066 10073 16777215]
                        )
                        (case_arm
                          pat_list: [{(-s)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:stripme)
                                  op: Equal
                                  rhs: {(DQ (' -s'))}
                                  spids: [10080]
                                )
                              ]
                              spids: [10080]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [10076 10077 10089 16777215]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other '*')}]
                          spids: [10092 10094 10097 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$prev'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [10122]
                                        )
                                      ]
                                      spids: [10122]
                                    )
                                  ]
                                  spids: [16777215 10119]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:dest)
                                      op: Equal
                                      rhs: {($ VSub_Name '$arg')}
                                      spids: [10128]
                                    )
                                  ]
                                  spids: [10128]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Continue continue>
                                )
                              ]
                              spids: [10125 10135]
                            )
                          ]
                          spids: [10100 10101 10138 16777215]
                        )
                      ]
                      spids: [9997 10001 10141]
                    )
                    (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$arg'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:install_prog)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$install_prog') (' ') 
                                ($ VSub_Name '$func_quote_for_eval_result')
                              )
                            }
                          spids: [10156]
                        )
                      ]
                      spids: [10156]
                    )
                  ]
                  spids: [9961 10164]
                )
              spids: [16777215 16777215]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$install_prog'))})
                (C {(func_fatal_help)} {(DQ ('you must specify an install program'))})
              ]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$prev'))})
                (C {(func_fatal_help)} 
                  {
                    (DQ ('the ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                      ($ VSub_Name '$prev') ("' option requires an argument")
                    )
                  }
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$files'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$dest'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(func_fatal_help)} {(DQ ('no file or destination specified'))})]
                          spids: [16777215 10236]
                        )
                      ]
                      else_action: [(C {(func_fatal_help)} {(DQ ('you must specify a destination'))})]
                      spids: [10246 10256]
                    )
                  ]
                  spids: [16777215 10222]
                )
              ]
              spids: [16777215 10259]
            )
            (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: [10281]
                )
              ]
              spids: [10281]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-d)} {(DQ ($ VSub_Name '$dest'))})
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:isdir) op:Equal rhs:{(yes)} spids:[10300])]
                  spids: [10300]
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(DQ ($ VSub_Name '$isdir'))} {(Lit_Other '=')} {(yes)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:destdir)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$dest'))}
                          spids: [10320]
                        )
                      ]
                      spids: [10320]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:destname)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [10326]
                        )
                      ]
                      spids: [10326]
                    )
                  ]
                  spids: [16777215 10317]
                )
              ]
              else_action: [
                (C {(func_dirname_and_basename)} {(DQ ($ VSub_Name '$dest'))} {(DQ )} {(DQ (.))})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:destdir)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name '$func_dirname_result'))}
                      spids: [10346]
                    )
                  ]
                  spids: [10346]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:destname)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                      spids: [10352]
                    )
                  ]
                  spids: [10352]
                )
                (Sentence
                  child: (C {(set)} {(dummy)} {($ VSub_Name '$files')})
                  terminator: <Op_Semi ';'>
                )
                (C {(shift)})
                (AndOr
                  ops: [Op_DAmp]
                  children: [
                    (C {(test)} {(DQ ($ VSub_Pound '$#'))} {(-gt)} {(1)})
                    (C {(func_fatal_help)} 
                      {
                        (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$dest') 
                          ("' is not a directory")
                        )
                      }
                    )
                  ]
                )
              ]
              spids: [10329 10396]
            )
            (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: [10406 10423 10425 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (ForEach
                      iter_name: file
                      iter_words: [{($ VSub_Name '$files')}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name '$file')}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (.lo)}]
                                  spids: [10451 10453 10455 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_fatal_help)} 
                                      {
                                        (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                          ($ VSub_Name '$destdir') ("' must be an absolute directory name")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [10458 10459 10471 16777215]
                                )
                              ]
                              spids: [10444 10448 10474]
                            )
                          ]
                          spids: [10441 10477]
                        )
                      spids: [10437 10439]
                    )
                  ]
                  spids: [10428 10429 10480 16777215]
                )
              ]
              spids: [10399 10403 10483]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_install_magic)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$magic'))}
                  spids: [10495]
                )
              ]
              spids: [10495]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:staticlibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [10502]
                )
              ]
              spids: [10502]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:future_libdirs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [10505]
                )
              ]
              spids: [10505]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:current_libdirs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [10508]
                )
              ]
              spids: [10508]
            )
            (ForEach
              iter_name: file
              iter_words: [{($ VSub_Name '$files')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$file')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.) ($ VSub_Name '$libext')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:staticlibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$staticlibs') (' ') ($ VSub_Name '$file'))}
                                  spids: [10545]
                                )
                              ]
                              spids: [10545]
                            )
                          ]
                          spids: [10535 10538 10553 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.la)}]
                          action: [
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(func_lalib_unsafe_p)} {(DQ ($ VSub_Name '$file'))})
                                (C {(func_fatal_help)} 
                                  {
                                    (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ($ VSub_Name '$file') ("' is not a valid libtool archive")
                                    )
                                  }
                                )
                              ]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:library_names)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [10586]
                                )
                              ]
                              spids: [10586]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:old_library)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [10589]
                                )
                              ]
                              spids: [10589]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [10592]
                                )
                              ]
                              spids: [10592]
                            )
                            (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: [10637 10644 10646 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:current_libdirs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$current_libdirs') (' ') 
                                                        ($ VSub_Name '$libdir')
                                                      )
                                                    }
                                                  spids: [10652]
                                                )
                                              ]
                                              spids: [10652]
                                            )
                                          ]
                                          spids: [10649 10650 10659 16777215]
                                        )
                                      ]
                                      spids: [10627 10634 10662]
                                    )
                                  ]
                                  spids: [16777215 10624]
                                )
                              ]
                              else_action: [
                                (Case
                                  to_match: {(DQ ($ VSub_Name '$future_libdirs') (' '))}
                                  arms: [
                                    (case_arm
                                      pat_list: [
                                        {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$libdir') (' ')) 
                                          (Lit_Other '*')
                                        }
                                      ]
                                      spids: [10682 10689 10691 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other '*')}]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:future_libdirs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$future_libdirs') (' ') 
                                                    ($ VSub_Name '$libdir')
                                                  )
                                                }
                                              spids: [10697]
                                            )
                                          ]
                                          spids: [10697]
                                        )
                                      ]
                                      spids: [10694 10695 10704 16777215]
                                    )
                                  ]
                                  spids: [10672 10679 10707]
                                )
                              ]
                              spids: [10665 10710]
                            )
                            (C {(func_dirname)} {(DQ ($ VSub_Name '$file'))} {(DQ (/))} {(DQ )})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dir)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$func_dirname_result'))}
                                  spids: [10728]
                                )
                              ]
                              spids: [10728]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dir)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$dir') ($ VSub_Name '$objdir'))}
                                  spids: [10734]
                                )
                              ]
                              spids: [10734]
                            )
                            (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 (X) ($ VSub_Name '$destdir'))}
                                                          )
                                                          (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                            {
                                                              (DQ ('s%') ($ VSub_Name '$libdir') 
                                                                (EscapedLiteralPart
                                                                  token: <Lit_EscapedChar '\\$'>
                                                                ) ('%%')
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [10761 10781]
                                              )
                                            }
                                          spids: [10760]
                                        )
                                      ]
                                      spids: [10760]
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(DQ ($ VSub_Name '$inst_prefix_dir'))} 
                                          {(Lit_Other '=')} {(DQ ($ VSub_Name '$destdir'))}
                                        )
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ('error: cannot install ') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\`'>
                                              ) ($ VSub_Name '$file') ("' to a directory not ending in ") ($ VSub_Name '$libdir')
                                            )
                                          }
                                        )
                                      ]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$inst_prefix_dir'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:relink_command)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {($ VSub_Name '$ECHO')} 
                                                                    {
                                                                      (DQ (X) 
                                                                        ($ VSub_Name 
'$relink_command'
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                                    {
                                                                      (DQ 
                                                                        (
's%@inst_prefix_dir@%-inst-prefix-dir '
                                                                        ) ($ VSub_Name '$inst_prefix_dir') ('%')
                                                                      )
                                                                    }
                                                                  )
                                                                ]
                                                                negated: F
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [10856 10875]
                                                      )
                                                    }
                                                  spids: [10855]
                                                )
                                              ]
                                              spids: [10855]
                                            )
                                          ]
                                          spids: [16777215 10848]
                                        )
                                      ]
                                      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 (X) 
                                                                    ($ VSub_Name '$relink_command')
                                                                  )
                                                                }
                                                              )
                                                              (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                                {(DQ ('s%@inst_prefix_dir@%%'))}
                                                              )
                                                            ]
                                                            negated: F
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [10882 10899]
                                                  )
                                                }
                                              spids: [10881]
                                            )
                                          ]
                                          spids: [10881]
                                        )
                                      ]
                                      spids: [10878 10902]
                                    )
                                    (C {(func_warning)} 
                                      {
                                        (DQ ('relinking ') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\`'>
                                          ) ($ VSub_Name '$file') ("'")
                                        )
                                      }
                                    )
                                    (C {(func_show_eval)} {(DQ ($ VSub_Name '$relink_command'))} 
                                      {(SQ <'func_fatal_error "error: relink \\`$file'>) 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\'">
                                        ) (SQ <' with the above command before installing it"'>)
                                      }
                                    )
                                  ]
                                  spids: [16777215 10753]
                                )
                              ]
                              spids: [16777215 10933]
                            )
                            (Sentence
                              child: (C {(set)} {(dummy)} {($ VSub_Name '$library_names')})
                              terminator: <Op_Semi ';'>
                            )
                            (C {(shift)})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number '$1'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:realname)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Number '$1'))}
                                          spids: [10965]
                                        )
                                      ]
                                      spids: [10965]
                                    )
                                    (C {(shift)})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:srcname)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$realname'))}
                                          spids: [10975]
                                        )
                                      ]
                                      spids: [10975]
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$relink_command'))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:srcname)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$realname')) (T)}
                                              spids: [10991]
                                            )
                                          ]
                                          spids: [10991]
                                        )
                                      ]
                                    )
                                    (C {(func_show_eval)} 
                                      {
                                        (DQ ($ VSub_Name '$install_prog') (' ') ($ VSub_Name '$dir') (/) 
                                          ($ VSub_Name '$srcname') (' ') ($ VSub_Name '$destdir') (/) ($ VSub_Name '$realname')
                                        )
                                      } {(SQ <'exit $?'>)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tstripme)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$stripme'))}
                                          spids: [11024]
                                        )
                                      ]
                                      spids: [11024]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name '$host_os')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(cygwin) (Lit_Other '*')}
                                            {(mingw) (Lit_Other '*')}
                                            {(pw32) (Lit_Other '*')}
                                            {(cegcc) (Lit_Other '*')}
                                          ]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name '$realname')}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*') (.dll.a)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:tstripme)
                                                          op: Equal
                                                          rhs: {(DQ )}
                                                          spids: [11069]
                                                        )
                                                      ]
                                                      spids: [11069]
                                                    )
                                                  ]
                                                  spids: [11064 11066 11074 16777215]
                                                )
                                              ]
                                              spids: [11057 11061 11077]
                                            )
                                          ]
                                          spids: [11037 11054 11080 16777215]
                                        )
                                      ]
                                      spids: [11030 11034 11083]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$tstripme'))})
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$striplib'))})
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_show_eval)} 
                                              {
                                                (DQ ($ VSub_Name '$striplib') (' ') 
                                                  ($ VSub_Name '$destdir') (/) ($ VSub_Name '$realname')
                                                )
                                              } {(SQ <'exit $?'>)}
                                            )
                                          ]
                                          spids: [16777215 11107]
                                        )
                                      ]
                                      spids: [16777215 11125]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Pound '$#'))} {(-gt)} {(0)})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (ForEach
                                              iter_name: linkname
                                              do_arg_iter: T
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (AndOr
                                                      ops: [Op_DAmp]
                                                      children: [
                                                        (C {(test)} {(DQ ($ VSub_Name '$linkname'))} 
                                                          {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$realname'))}
                                                        )
                                                        (C {(func_show_eval)} 
                                                          {
                                                            (DQ ('(cd ') ($ VSub_Name '$destdir') 
                                                              (' && { ') ($ VSub_Name '$LN_S') (' -f ') ($ VSub_Name '$realname') (' ') ($ VSub_Name '$linkname') (' || { ') 
                                                              ($ VSub_Name '$RM') (' ') ($ VSub_Name '$linkname') (' && ') ($ VSub_Name '$LN_S') (' ') ($ VSub_Name '$realname') (' ') 
                                                              ($ VSub_Name '$linkname') ('; }; })')
                                                            )
                                                          }
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [11166 11211]
                                                )
                                              spids: [16777215 16777215]
                                            )
                                          ]
                                          spids: [16777215 11142]
                                        )
                                      ]
                                      spids: [16777215 11214]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lib)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$destdir') (/) 
                                                ($ VSub_Name '$realname')
                                              )
                                            }
                                          spids: [11222]
                                        )
                                      ]
                                      spids: [11222]
                                    )
                                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$postinstall_cmds'))} 
                                      {(SQ <'exit $?'>)}
                                    )
                                  ]
                                  spids: [16777215 10962]
                                )
                              ]
                              spids: [16777215 11241]
                            )
                            (C {(func_basename)} {(DQ ($ VSub_Name '$file'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                                  spids: [11256]
                                )
                              ]
                              spids: [11256]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:instname)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$dir') (/) ($ VSub_Name '$name')) (i)}
                                  spids: [11262]
                                )
                              ]
                              spids: [11262]
                            )
                            (C {(func_show_eval)} 
                              {
                                (DQ ($ VSub_Name '$install_prog') (' ') ($ VSub_Name '$instname') (' ') 
                                  ($ VSub_Name '$destdir') (/) ($ VSub_Name '$name')
                                )
                              } {(SQ <'exit $?'>)}
                            )
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$old_library'))})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:staticlibs)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$staticlibs') (' ') ($ VSub_Name '$dir') (/) 
                                            ($ VSub_Name '$old_library')
                                          )
                                        }
                                      spids: [11303]
                                    )
                                  ]
                                  spids: [11303]
                                )
                              ]
                            )
                          ]
                          spids: [10557 10559 11313 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.lo)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$destname'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:destfile)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$destdir') (/) 
                                                ($ VSub_Name '$destname')
                                              )
                                            }
                                          spids: [11345]
                                        )
                                      ]
                                      spids: [11345]
                                    )
                                  ]
                                  spids: [16777215 11342]
                                )
                              ]
                              else_action: [
                                (C {(func_basename)} {(DQ ($ VSub_Name '$file'))})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:destfile)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                                      spids: [11363]
                                    )
                                  ]
                                  spids: [11363]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:destfile)
                                      op: Equal
                                      rhs: 
                                        {(DQ ($ VSub_Name '$destdir') (/) ($ VSub_Name '$destfile'))}
                                      spids: [11369]
                                    )
                                  ]
                                  spids: [11369]
                                )
                              ]
                              spids: [11353 11377]
                            )
                            (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: [11404]
                                        )
                                      ]
                                      spids: [11404]
                                    )
                                  ]
                                  spids: [11392 11394 11408 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (.) ($ VSub_Name '$objext')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:staticdest)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$destfile'))}
                                          spids: [11417]
                                        )
                                      ]
                                      spids: [11417]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:destfile)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [11423]
                                        )
                                      ]
                                      spids: [11423]
                                    )
                                  ]
                                  spids: [11411 11414 11426 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_fatal_help)} 
                                      {
                                        (DQ ('cannot copy a libtool object to ') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\`'>
                                          ) ($ VSub_Name '$destfile') ("'")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [11429 11430 11443 16777215]
                                )
                              ]
                              spids: [11385 11389 11446]
                            )
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$destfile'))})
                                (C {(func_show_eval)} 
                                  {
                                    (DQ ($ VSub_Name '$install_prog') (' ') ($ VSub_Name '$file') (' ') 
                                      ($ VSub_Name '$destfile')
                                    )
                                  } {(SQ <'exit $?'>)}
                                )
                              ]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$build_old_libs'))} 
                                          {(Lit_Other '=')} {(yes)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_lo2o)} {(DQ ($ VSub_Name '$file'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:staticobj)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_lo2o_result')}
                                          spids: [11513]
                                        )
                                      ]
                                      spids: [11513]
                                    )
                                    (C {(func_show_eval)} 
                                      {
                                        (DQ ($ VSub_Name '$install_prog') (' ') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\$'>
                                          ) ('staticobj ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (staticdest)
                                        )
                                      } {(SQ <'exit $?'>)}
                                    )
                                  ]
                                  spids: [16777215 11499]
                                )
                              ]
                              spids: [16777215 11533]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                            )
                          ]
                          spids: [11317 11319 11541 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$destname'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:destfile)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$destdir') (/) 
                                                ($ VSub_Name '$destname')
                                              )
                                            }
                                          spids: [11567]
                                        )
                                      ]
                                      spids: [11567]
                                    )
                                  ]
                                  spids: [16777215 11564]
                                )
                              ]
                              else_action: [
                                (C {(func_basename)} {(DQ ($ VSub_Name '$file'))})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:destfile)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                                      spids: [11585]
                                    )
                                  ]
                                  spids: [11585]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:destfile)
                                      op: Equal
                                      rhs: 
                                        {(DQ ($ VSub_Name '$destdir') (/) ($ VSub_Name '$destfile'))}
                                      spids: [11591]
                                    )
                                  ]
                                  spids: [11591]
                                )
                              ]
                              spids: [11575 11599]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:stripped_ext)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [11615]
                                )
                              ]
                              spids: [11615]
                            )
                            (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: [11662]
                                                )
                                              ]
                                              spids: [11662]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:stripped_ext)
                                                  op: Equal
                                                  rhs: {(DQ (.exe))}
                                                  spids: [11666]
                                                )
                                              ]
                                              spids: [11666]
                                            )
                                          ]
                                          spids: [16777215 11645]
                                        )
                                      ]
                                      spids: [16777215 11672]
                                    )
                                  ]
                                  spids: [11627 11629 11675 16777215]
                                )
                              ]
                              spids: [11620 11624 11678]
                            )
                            (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: [11724]
                                                )
                                              ]
                                              spids: [11724]
                                            )
                                          ]
                                          spids: [16777215 11714]
                                        )
                                      ]
                                      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: [11745]
                                            )
                                          ]
                                          spids: [11745]
                                        )
                                      ]
                                      spids: [11728 11749]
                                    )
                                  ]
                                  spids: [11693 11702 11752 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:wrapper)
                                          op: Equal
                                          rhs: {($ VSub_Name '$file')}
                                          spids: [11759]
                                        )
                                      ]
                                      spids: [11759]
                                    )
                                  ]
                                  spids: [11755 11756 11763 16777215]
                                )
                              ]
                              spids: [11686 11690 11766]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(func_ltwrapper_script_p)} {(DQ ($ VSub_Name '$wrapper'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:notinst_deplibs)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [11781]
                                        )
                                      ]
                                      spids: [11781]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [11784]
                                        )
                                      ]
                                      spids: [11784]
                                    )
                                    (C {(func_source)} {(DQ ($ VSub_Name '$wrapper'))})
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(-z)} 
                                          {(DQ ($ VSub_Name '$generated_by_libtool_version'))}
                                        )
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ('invalid libtool wrapper script ') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\`'>
                                              ) ($ VSub_Name '$wrapper') ("'")
                                            )
                                          }
                                        )
                                      ]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:finalize)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [11823]
                                        )
                                      ]
                                      spids: [11823]
                                    )
                                    (ForEach
                                      iter_name: lib
                                      iter_words: [{($ VSub_Name '$notinst_deplibs')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libdir)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [11843]
                                                )
                                              ]
                                              spids: [11843]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-f)} {(DQ ($ VSub_Name '$lib'))})
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_source)} {(DQ ($ VSub_Name '$lib'))})
                                                  ]
                                                  spids: [16777215 11857]
                                                )
                                              ]
                                              spids: [16777215 11867]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libfile)
                                                  op: Equal
                                                  rhs: 
                                                    {(DQ ($ VSub_Name '$libdir') (/)) 
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {($ VSub_Name '$ECHO')} 
                                                                    {(DQ (X) ($ VSub_Name '$lib'))}
                                                                  )
                                                                  (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                                    {(SQ <'s%^.*/%%g'>)}
                                                                  )
                                                                ]
                                                                negated: F
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [11875 11892]
                                                      )
                                                    }
                                                  spids: [11870]
                                                )
                                              ]
                                              spids: [11870]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          ops: [Op_DAmp]
                                                          children: [
                                                            (C {(test)} {(-n)} 
                                                              {(DQ ($ VSub_Name '$libdir'))}
                                                            )
                                                            (C {(test)} {(KW_Bang '!')} {(-f)} 
                                                              {(DQ ($ VSub_Name '$libfile'))}
                                                            )
                                                          ]
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_warning)} 
                                                      {
                                                        (DQ 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\`'>
                                                          ) ($ VSub_Name '$lib') ("' has not been installed in ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                                          ($ VSub_Name '$libdir') ("'")
                                                        )
                                                      }
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:finalize)
                                                          op: Equal
                                                          rhs: {(no)}
                                                          spids: [11936]
                                                        )
                                                      ]
                                                      spids: [11936]
                                                    )
                                                  ]
                                                  spids: [16777215 11921]
                                                )
                                              ]
                                              spids: [16777215 11940]
                                            )
                                          ]
                                          spids: [11836 11943]
                                        )
                                      spids: [11832 11834]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [11947]
                                        )
                                      ]
                                      spids: [11947]
                                    )
                                    (C {(func_source)} {(DQ ($ VSub_Name '$wrapper'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:outputname)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [11958]
                                        )
                                      ]
                                      spids: [11958]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name '$fast_install'))} 
                                                      {(Lit_Other '=')} {(no)}
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$relink_command'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (BraceGroup
                                                  children: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} 
                                                                  {(DQ ($ VSub_Name '$finalize'))} {(Lit_Other '=')} {(yes)}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:tmpdir)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (C {(func_mktempdir)})
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick '`'>
                                                                        spids: [12011 12013]
                                                                      )
                                                                    }
                                                                  spids: [12010]
                                                                )
                                                              ]
                                                              spids: [12010]
                                                            )
                                                            (C {(func_basename)} 
                                                              {
                                                                (DQ ($ VSub_Name '$file') 
                                                                  ($ VSub_Name '$stripped_ext')
                                                                )
                                                              }
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:file)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$func_basename_result'
                                                                        )
                                                                      )
                                                                    }
                                                                  spids: [12024]
                                                                )
                                                              ]
                                                              spids: [12024]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:outputname)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$tmpdir') (/) 
                                                                        ($ VSub_Name '$file')
                                                                      )
                                                                    }
                                                                  spids: [12030]
                                                                )
                                                              ]
                                                              spids: [12030]
                                                            )
                                                            (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 (X) ($ VSub_Name '$relink_command'))}
                                                                                  )
                                                                                  (C 
                                                                                    {
                                                                                      ($ VSub_Name 
'$Xsed'
                                                                                      )
                                                                                    } {(-e)} {(SQ <'s%@OUTPUT@%'>) (DQ ($ VSub_Name '$outputname')) (SQ <'%g'>)}
                                                                                  )
                                                                                ]
                                                                                negated: F
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick '`'>
                                                                        spids: [12043 12066]
                                                                      )
                                                                    }
                                                                  spids: [12042]
                                                                )
                                                              ]
                                                              spids: [12042]
                                                            )
                                                            (AndOr
                                                              ops: [Op_DPipe]
                                                              children: [
                                                                (C {($ VSub_Name '$opt_silent')})
                                                                (BraceGroup
                                                                  children: [
                                                                    (C {(func_quote_for_expand)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
'$relink_command'
                                                                          )
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {(eval)} 
                                                                      {
                                                                        (DQ ('func_echo ') 
                                                                          ($ VSub_Name 
'$func_quote_for_expand_result'
                                                                          )
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [12074]
                                                                )
                                                              ]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(eval)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
'$relink_command'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [(C {(Lit_Other ':')})]
                                                                  spids: [16777215 12104]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (C {(func_error)} 
                                                                  {
                                                                    (DQ ('error: relink ') 
                                                                      (EscapedLiteralPart
                                                                        token: 
                                                                          <Lit_EscapedChar '\\`'>
                                                                      ) ($ VSub_Name '$file') ("' with the above command before installing it")
                                                                    )
                                                                  }
                                                                )
                                                                (AndOr
                                                                  ops: [Op_DPipe]
                                                                  children: [
                                                                    (C {($ VSub_Name '$opt_dry_run')})
                                                                    (C {(${ VSub_Name RM) (r)} 
                                                                      {(DQ ($ VSub_Name '$tmpdir'))}
                                                                    )
                                                                  ]
                                                                )
                                                                (ControlFlow
                                                                  token: 
                                                                    <ControlFlow_Continue continue>
                                                                )
                                                              ]
                                                              spids: [12109 12139]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:file)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$outputname'))
                                                                    }
                                                                  spids: [12142]
                                                                )
                                                              ]
                                                              spids: [12142]
                                                            )
                                                          ]
                                                          spids: [16777215 12007]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (C {(func_warning)} 
                                                          {
                                                            (DQ ('cannot relink ') 
                                                              (EscapedLiteralPart
                                                                token: <Lit_EscapedChar '\\`'>
                                                              ) ($ VSub_Name '$file') ("'")
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [12148 12161]
                                                    )
                                                  ]
                                                  spids: [11991]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 11984]
                                        )
                                      ]
                                      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 (X) ($ VSub_Name '$file') 
                                                                    ($ VSub_Name '$stripped_ext')
                                                                  )
                                                                }
                                                              )
                                                              (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                                {
                                                                  (DQ ('s%') (Lit_Other '\\') 
                                                                    ('([^/]*') (Lit_Other '\\') (')') (Lit_Other '$') ('%') ($ VSub_Name '$objdir') (/) (Lit_Other '\\') ('1%')
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: F
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [12175 12203]
                                                  )
                                                }
                                              spids: [12174]
                                            )
                                          ]
                                          spids: [12174]
                                        )
                                      ]
                                      spids: [12167 12206]
                                    )
                                  ]
                                  spids: [16777215 11778]
                                )
                              ]
                              spids: [16777215 12209]
                            )
                            (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: [12249 12254 12261 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (.exe) (Lit_Other ':') (Lit_Other '*')}
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:destfile)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$destfile') (.exe)}
                                                  spids: [12271]
                                                )
                                              ]
                                              spids: [12271]
                                            )
                                          ]
                                          spids: [12264 12268 12276 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (Lit_Other ':') (Lit_Other '*') (.exe)}
                                          ]
                                          action: [
                                            (C {(func_stripname)} {(SQ )} {(SQ <.exe>)} 
                                              {(DQ ($ VSub_Name '$destfile'))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:destfile)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                                  spids: [12300]
                                                )
                                              ]
                                              spids: [12300]
                                            )
                                          ]
                                          spids: [12279 12283 12304 16777215]
                                        )
                                      ]
                                      spids: [12240 12246 12307]
                                    )
                                  ]
                                  spids: [12230 12237 12310 16777215]
                                )
                              ]
                              spids: [12221 12227 12313]
                            )
                            (C {(func_show_eval)} 
                              {
                                (DQ ($ VSub_Name '$install_prog') 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\$'>
                                  ) ('stripme ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('file ') 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\$'>
                                  ) (destfile)
                                )
                              } {(SQ <'exit $?'>)}
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$outputname'))})
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(${ VSub_Name RM) (r)} {(DQ ($ VSub_Name '$tmpdir'))})
                                      ]
                                      spids: [16777215 12348]
                                    )
                                  ]
                                  spids: [16777215 12361]
                                )
                              ]
                            )
                          ]
                          spids: [11545 11546 12364 16777215]
                        )
                      ]
                      spids: [10528 10532 12367]
                    )
                  ]
                  spids: [10520 12370]
                )
              spids: [10516 10518]
            )
            (ForEach
              iter_name: file
              iter_words: [{($ VSub_Name '$staticlibs')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (C {(func_basename)} {(DQ ($ VSub_Name '$file'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:name)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                          spids: [12393]
                        )
                      ]
                      spids: [12393]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlib)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$destdir') (/) ($ VSub_Name '$name'))}
                          spids: [12404]
                        )
                      ]
                      spids: [12404]
                    )
                    (C {(func_show_eval)} 
                      {
                        (DQ ($ VSub_Name '$install_prog') (' ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('file ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (oldlib)
                        )
                      } {(SQ <'exit $?'>)}
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$stripme'))})
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$old_striplib'))})
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_show_eval)} 
                              {(DQ ($ VSub_Name '$old_striplib') (' ') ($ VSub_Name '$oldlib'))} {(SQ <'exit $?'>)}
                            )
                          ]
                          spids: [16777215 12451]
                        )
                      ]
                      spids: [16777215 12467]
                    )
                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$old_postinstall_cmds'))} 
                      {(SQ <'exit $?'>)}
                    )
                  ]
                  spids: [12383 12486]
                )
              spids: [12379 12381]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$future_libdirs'))})
                (C {(func_warning)} 
                  {
                    (DQ ('remember to run ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                      ($ VSub_Name '$progname') (' --finish') ($ VSub_Name '$future_libdirs') ("'")
                    )
                  }
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$current_libdirs'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {($ VSub_Name '$opt_dry_run')})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:current_libdirs)
                              op: Equal
                              rhs: {(DQ (' -n') ($ VSub_Name '$current_libdirs'))}
                              spids: [12537]
                            )
                          ]
                          spids: [12537]
                        )
                      ]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:exec_cmd)
                          op: Equal
                          rhs: {(SQ <'$SHELL $progpath $preserve_args --finish$current_libdirs'>)}
                          spids: [12544]
                        )
                      ]
                      spids: [12544]
                    )
                  ]
                  spids: [16777215 12526]
                )
              ]
              else_action: [
                (ControlFlow
                  token: <ControlFlow_Exit exit>
                  arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                )
              ]
              spids: [12550 12558]
            )
          ]
          spids: [9801]
        )
      spids: [9796 9800]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} {(install)})
        (C {(func_mode_install)} 
          {
            (BracedVarSub
              token: <VSub_Number 1>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
              spids: [12577 12583]
            )
          }
        )
      ]
    )
    (FuncDef
      name: func_generate_dlsyms
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_outputname)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$1'))}
                  spids: [12607]
                )
              ]
              spids: [12607]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_originator)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$2'))}
                  spids: [12613]
                )
              ]
              spids: [12613]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_pic_p)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Number 3>
                          suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(no)})
                          spids: [12621 12625]
                        )
                      )
                    }
                  spids: [12619]
                )
              ]
              spids: [12619]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_prefix)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$my_originator'))})
                                  (C {(sed)} {(SQ <'s%[^a-zA-Z0-9]%_%g'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [12630 12644]
                      )
                    }
                  spids: [12629]
                )
              ]
              spids: [12629]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_dlsyms)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [12647]
                )
              ]
              spids: [12647]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DPipe]
                          children: [
                            (C {(test)} {(-n)} 
                              {(DQ ($ VSub_Name '$dlfiles') ($ VSub_Name '$dlprefiles'))}
                            )
                            (C {(test)} {(DQ ($ VSub_Name '$dlself'))} {(KW_Bang '!') (Lit_Other '=')} 
                              {(no)}
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$NM'))})
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$global_symbol_pipe'))})
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:my_dlsyms)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name my_outputname) (S.c))}
                                  spids: [12703]
                                )
                              ]
                              spids: [12703]
                            )
                          ]
                          spids: [16777215 12700]
                        )
                      ]
                      else_action: [
                        (C {(func_error)} 
                          {(DQ ('not configured to extract global symbols from dlpreopened files'))}
                        )
                      ]
                      spids: [12712 12722]
                    )
                  ]
                  spids: [16777215 12676]
                )
              ]
              spids: [16777215 12725]
            )
            (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: [12750 12752 12754 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.c)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:nlist)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                        (${ VSub_Name my_outputname) (.nm)
                                      )
                                    }
                                  spids: [12766]
                                )
                              ]
                              spids: [12766]
                            )
                            (C {(func_show_eval)} 
                              {
                                (DQ ($ VSub_Name '$RM') (' ') ($ VSub_Name '$nlist') (' ') 
                                  (${ VSub_Name nlist) ('S ') (${ VSub_Name nlist) (T)
                                )
                              }
                            )
                            (C {(func_verbose)} 
                              {
                                (DQ ('creating ') ($ VSub_Name '$output_objdir') (/) 
                                  ($ VSub_Name '$my_dlsyms')
                                )
                              }
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (SimpleCommand
                                  words: [
                                    {($ VSub_Name '$ECHO')}
                                    {
                                      (DQ ('/* ') ($ VSub_Name '$my_dlsyms') 
                                        (' - symbol resolution table for ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$my_outputname') 
                                        ("' dlsym emulation. */\n") ('/* Generated by ') ($ VSub_Name '$PROGRAM') (' (GNU ') ($ VSub_Name '$PACKAGE') 
                                        ($ VSub_Name '$TIMESTAMP') (') ') ($ VSub_Name '$VERSION') (' */\n') ('\n') ('#ifdef __cplusplus\n') ('extern ') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) (C) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' {\n') ('#endif\n') ('\n') 
                                        ('/* External symbol declarations for the compiler. */')
                                      )
                                    }
                                  ]
                                  redirects: [
                                    (Redir
                                      op: <Redir_Great '>'>
                                      fd: 16777215
                                      arg_word: 
                                        {
                                          (DQ ($ VSub_Name '$output_objdir') (/) 
                                            ($ VSub_Name '$my_dlsyms')
                                          )
                                        }
                                    )
                                  ]
                                )
                              ]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$dlself'))} {(Lit_Other '=')} 
                                          {(yes)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_verbose)} 
                                      {
                                        (DQ ('generating symbol list for ') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\`'>
                                          ) ($ VSub_Name '$output') ("'")
                                        )
                                      }
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (SimpleCommand
                                          words: [{(echo)} {(SQ <': @PROGRAM@ '>)}]
                                          redirects: [
                                            (Redir
                                              op: <Redir_Great '>'>
                                              fd: 16777215
                                              arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:progfiles)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {
                                                              (DQ (X) ($ VSub_Name '$objs') 
                                                                ($ VSub_Name '$old_deplibs')
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name '$SP2NL')})
                                                          (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                            {(DQ ($ VSub_Name '$lo2o'))}
                                                          )
                                                          (C {($ VSub_Name '$NL2SP')})
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [12907 12933]
                                              )
                                            }
                                          spids: [12906]
                                        )
                                      ]
                                      spids: [12906]
                                    )
                                    (ForEach
                                      iter_name: progfile
                                      iter_words: [{($ VSub_Name '$progfiles')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (C {(func_verbose)} 
                                              {
                                                (DQ ('extracting global C symbols from ') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\`'>
                                                  ) ($ VSub_Name '$progfile') ("'")
                                                )
                                              }
                                            )
                                            (AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (C {(eval)} 
                                                  {
                                                    (DQ ($ VSub_Name '$NM') (' ') 
                                                      ($ VSub_Name '$progfile') (' | ') ($ VSub_Name '$global_symbol_pipe') (" >> '") ($ VSub_Name '$nlist') ("'")
                                                    )
                                                  }
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [12945 12976]
                                        )
                                      spids: [12941 12943]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$exclude_expsyms'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (BraceGroup
                                                  children: [
                                                    (C {(eval)} 
                                                      {
                                                        (SQ 
                                                          <
'$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
                                                          >
                                                        )
                                                      }
                                                    )
                                                    (C {(eval)} {(SQ <'$MV "$nlist"T "$nlist"'>)})
                                                  ]
                                                  spids: [12998]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 12991]
                                        )
                                      ]
                                      spids: [16777215 13018]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$export_symbols_regex'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (BraceGroup
                                                  children: [
                                                    (C {(eval)} 
                                                      {
                                                        (SQ 
                                                          <
'$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
                                                          >
                                                        )
                                                      }
                                                    )
                                                    (C {(eval)} {(SQ <'$MV "$nlist"T "$nlist"'>)})
                                                  ]
                                                  spids: [13040]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 13033]
                                        )
                                      ]
                                      spids: [16777215 13060]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$export_symbols'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:export_symbols)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$outputname') (.exp)
                                                      )
                                                    }
                                                  spids: [13082]
                                                )
                                              ]
                                              spids: [13082]
                                            )
                                            (AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (BraceGroup
                                                  children: [
                                                    (C {($ VSub_Name '$RM')} 
                                                      {($ VSub_Name '$export_symbols')}
                                                    )
                                                    (C {(eval)} 
                                                      {
                                                        (DQ (${ VSub_Name SED) 
                                                          (" -n -e '/^: @PROGRAM@ ") (Lit_Other '$') ("/d' -e 's/^.* ") (Lit_Other '\\') ('(.*') (Lit_Other '\\') (')') (Lit_Other '$') (/) 
                                                          (Lit_Other '\\') ("1/p' ")
                                                        ) (SQ <'< "$nlist" > "$export_symbols"'>)
                                                      }
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name '$host')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') (cygwin) (Lit_Other '*')}
                                                            {(Lit_Other '*') (mingw) (Lit_Other '*')}
                                                            {(Lit_Other '*') (cegcc) (Lit_Other '*')}
                                                          ]
                                                          action: [
                                                            (C {(eval)} 
                                                              {(DQ ('echo EXPORTS ')) 
                                                                (SQ 
                                                                  <
'> "$output_objdir/$outputname.def"'
                                                                  >
                                                                )
                                                              }
                                                            )
                                                            (C {(eval)} 
                                                              {
                                                                (SQ 
                                                                  <
'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
                                                                  >
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [13133 13149 13169 16777215]
                                                        )
                                                      ]
                                                      spids: [13126 13130 13172]
                                                    )
                                                  ]
                                                  spids: [13095]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 13079]
                                        )
                                      ]
                                      else_action: [
                                        (AndOr
                                          ops: [Op_DPipe]
                                          children: [
                                            (C {($ VSub_Name '$opt_dry_run')})
                                            (BraceGroup
                                              children: [
                                                (C {(eval)} 
                                                  {
                                                    (DQ (${ VSub_Name SED) (" -e 's/") (Lit_Other '\\') 
                                                      ('([].[*^') (Lit_Other '$') (']') (Lit_Other '\\') (')/') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
                                                      (EscapedLiteralPart
                                                        token: <Lit_EscapedChar '\\\\'>
                                                      ) (Lit_Other '\\') ("1/g' -e 's/^/ /' -e 's/") (Lit_Other '$') (/) (Lit_Other '$') ("/'")
                                                    ) (SQ <' < "$export_symbols" > "$output_objdir/$outputname.exp"'>)
                                                  }
                                                )
                                                (C {(eval)} 
                                                  {
                                                    (SQ 
                                                      <
'$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
                                                      >
                                                    )
                                                  }
                                                )
                                                (C {(eval)} {(SQ <'$MV "$nlist"T "$nlist"'>)})
                                                (Case
                                                  to_match: {($ VSub_Name '$host')}
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [
                                                        {(Lit_Other '*') (cygwin)}
                                                        {(Lit_Other '*') (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: [13236 13251 13271 16777215]
                                                    )
                                                  ]
                                                  spids: [13229 13233 13274]
                                                )
                                              ]
                                              spids: [13185]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [13178 13280]
                                    )
                                  ]
                                  spids: [16777215 12870]
                                )
                              ]
                              spids: [16777215 13283]
                            )
                            (ForEach
                              iter_name: dlprefile
                              iter_words: [{($ VSub_Name '$dlprefiles')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(func_verbose)} 
                                      {
                                        (DQ ('extracting global C symbols from ') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\`'>
                                          ) ($ VSub_Name '$dlprefile') ("'")
                                        )
                                      }
                                    )
                                    (C {(func_basename)} {(DQ ($ VSub_Name '$dlprefile'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:name)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                                          spids: [13316]
                                        )
                                      ]
                                      spids: [13316]
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (BraceGroup
                                          children: [
                                            (C {(eval)} {(SQ <'$ECHO ": $name " >> "$nlist"'>)})
                                            (C {(eval)} 
                                              {
                                                (DQ ($ VSub_Name '$NM') (' ') 
                                                  ($ VSub_Name '$dlprefile') (' 2>/dev/null | ') ($ VSub_Name '$global_symbol_pipe') (" >> '") ($ VSub_Name '$nlist') ("'")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [13326]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [13296 13353]
                                )
                              spids: [13292 13294]
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (BraceGroup
                                  children: [
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(test)} {(-f)} {(DQ ($ VSub_Name '$nlist'))})
                                        (SimpleCommand
                                          words: [{(Lit_Other ':')}]
                                          redirects: [
                                            (Redir
                                              op: <Redir_Great '>'>
                                              fd: 16777215
                                              arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$exclude_expsyms'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {($ VSub_Name '$EGREP')}
                                                {(-v)}
                                                {
                                                  (DQ (' (') ($ VSub_Name '$exclude_expsyms') (')') 
                                                    (Lit_Other '$')
                                                  )
                                                }
                                                {(DQ ($ VSub_Name '$nlist'))}
                                              ]
                                              redirects: [
                                                (Redir
                                                  op: <Redir_Great '>'>
                                                  fd: 16777215
                                                  arg_word: {(DQ ($ VSub_Name '$nlist')) (T)}
                                                )
                                              ]
                                            )
                                            (C {($ VSub_Name '$MV')} {(DQ ($ VSub_Name '$nlist')) (T)} 
                                              {(DQ ($ VSub_Name '$nlist'))}
                                            )
                                          ]
                                          spids: [16777215 13399]
                                        )
                                      ]
                                      spids: [16777215 13437]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (Pipeline
                                                  children: [
                                                    (SimpleCommand
                                                      words: [
                                                        {($ VSub_Name '$GREP')}
                                                        {(-v)}
                                                        {(DQ ('^: '))}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op: <Redir_Less '<'>
                                                          fd: 16777215
                                                          arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                                        )
                                                      ]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (SimpleCommand
                                                                  words: [{(sort)} {(-k)} {(3)}]
                                                                  redirects: [
                                                                    (Redir
                                                                      op: <Redir_Less '<'>
                                                                      fd: 16777215
                                                                      arg_word: {(/dev/null)}
                                                                    )
                                                                    (Redir
                                                                      op: <Redir_Great '>'>
                                                                      fd: 16777215
                                                                      arg_word: {(/dev/null)}
                                                                    )
                                                                    (Redir
                                                                      op: <Redir_GreatAnd '2>&'>
                                                                      fd: 2
                                                                      arg_word: {(1)}
                                                                    )
                                                                  ]
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [(C {(sort)} {(-k)} {(3)})]
                                                          spids: [16777215 13482]
                                                        )
                                                      ]
                                                      else_action: [(C {(sort)} {(Lit_Other '+') (2)})]
                                                      spids: [13492 13501]
                                                    )
                                                    (SimpleCommand
                                                      words: [{(uniq)}]
                                                      redirects: [
                                                        (Redir
                                                          op: <Redir_Great '>'>
                                                          fd: 16777215
                                                          arg_word: {(DQ ($ VSub_Name '$nlist')) (S)}
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  negated: F
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [(C {(Lit_Other ':')})]
                                          spids: [16777215 13516]
                                        )
                                      ]
                                      else_action: [
                                        (SimpleCommand
                                          words: [{($ VSub_Name '$GREP')} {(-v)} {(DQ ('^: '))}]
                                          redirects: [
                                            (Redir
                                              op: <Redir_Less '<'>
                                              fd: 16777215
                                              arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                            )
                                            (Redir
                                              op: <Redir_Great '>'>
                                              fd: 16777215
                                              arg_word: {(DQ ($ VSub_Name '$nlist')) (S)}
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [13522 13547]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-f)} {(DQ ($ VSub_Name '$nlist')) (S)})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(eval)} 
                                              {(DQ ($ VSub_Name '$global_symbol_to_cdecl')) 
                                                (SQ <' < "$nlist"S >> "$output_objdir/$my_dlsyms"'>)
                                              }
                                            )
                                          ]
                                          spids: [16777215 13563]
                                        )
                                      ]
                                      else_action: [
                                        (SimpleCommand
                                          words: [{($ VSub_Name '$ECHO')} {(SQ <'/* NONE */'>)}]
                                          redirects: [
                                            (Redir
                                              op: <Redir_DGreat '>>'>
                                              fd: 16777215
                                              arg_word: 
                                                {
                                                  (DQ ($ VSub_Name '$output_objdir') (/) 
                                                    ($ VSub_Name '$my_dlsyms')
                                                  )
                                                }
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [13576 13594]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {($ VSub_Name '$ECHO')}
                                        {
                                          (DQ ('\n') 
                                            (
'/* The mapping between symbol names and symbols.  */\n'
                                            ) ('typedef struct {\n') ('  const char *name;\n') ('  void *address;\n') ('} lt_dlsymlist;\n')
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op: <Redir_DGreat '>>'>
                                          fd: 16777215
                                          arg_word: 
                                            {
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                ($ VSub_Name '$my_dlsyms')
                                              )
                                            }
                                        )
                                      ]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name '$host')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (cygwin) (Lit_Other '*')}
                                            {(Lit_Other '*') (mingw) (Lit_Other '*')}
                                            {(Lit_Other '*') (cegcc) (Lit_Other '*')}
                                          ]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {($ VSub_Name '$ECHO')}
                                                {
                                                  (DQ 
                                                    (
"/* DATA imports from DLLs on WIN32 con't be const, because\n"
                                                    ) ("   runtime relocations are performed -- see ld's documentation\n") ('   on pseudo-relocs.  */')
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op: <Redir_DGreat '>>'>
                                                  fd: 16777215
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                )
                                              ]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lt_dlsym_const)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [13663]
                                                )
                                              ]
                                              spids: [13663]
                                            )
                                          ]
                                          spids: [13626 13642 13665 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*') (osf5) (Lit_Other '*')}]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {(echo)}
                                                {
                                                  (DQ 
                                                    (
'/* This system does not cope well with relocations in const data */'
                                                    )
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op: <Redir_DGreat '>>'>
                                                  fd: 16777215
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                )
                                              ]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lt_dlsym_const)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [13690]
                                                )
                                              ]
                                              spids: [13690]
                                            )
                                          ]
                                          spids: [13668 13671 13692 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lt_dlsym_const)
                                                  op: Equal
                                                  rhs: {(const)}
                                                  spids: [13699]
                                                )
                                              ]
                                              spids: [13699]
                                            )
                                          ]
                                          spids: [13695 13696 13702 16777215]
                                        )
                                      ]
                                      spids: [13619 13623 13705]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {($ VSub_Name '$ECHO')}
                                        {
                                          (DQ ('extern ') ($ VSub_Name '$lt_dlsym_const') 
                                            (' lt_dlsymlist\n') (lt_) (${ VSub_Name my_prefix) ('_LTX_preloaded_symbols[];\n') ($ VSub_Name '$lt_dlsym_const') 
                                            (' lt_dlsymlist\n') (lt_) (${ VSub_Name my_prefix) ('_LTX_preloaded_symbols[] =\n') ('{') ('  { ') 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar '\\"'>
                                            ) ($ VSub_Name '$my_originator') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (', (void *) 0 },')
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op: <Redir_DGreat '>>'>
                                          fd: 16777215
                                          arg_word: 
                                            {
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                ($ VSub_Name '$my_dlsyms')
                                              )
                                            }
                                        )
                                      ]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name '$need_lib_prefix')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(no)}]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {(eval)}
                                                {
                                                  (DQ 
                                                    ($ VSub_Name '$global_symbol_to_c_name_address')
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op: <Redir_Less '<'>
                                                  fd: 16777215
                                                  arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                                )
                                                (Redir
                                                  op: <Redir_DGreat '>>'>
                                                  fd: 16777215
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [13754 13755 13779 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {(eval)}
                                                {
                                                  (DQ 
                                                    ($ VSub_Name 
'$global_symbol_to_c_name_address_lib_prefix'
                                                    )
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op: <Redir_Less '<'>
                                                  fd: 16777215
                                                  arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                                )
                                                (Redir
                                                  op: <Redir_DGreat '>>'>
                                                  fd: 16777215
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [13782 13783 13807 16777215]
                                        )
                                      ]
                                      spids: [13747 13751 13810]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {($ VSub_Name '$ECHO')}
                                        {
                                          (DQ ('  {0, (void *) 0}\n') ('};\n') ('\n') 
                                            (
'/* This works around a problem in FreeBSD linker */\n'
                                            ) ('#ifdef FREEBSD_WORKAROUND\n') ('static const void *lt_preloaded_setup() {\n') ('  return lt_') 
                                            (${ VSub_Name my_prefix) ('_LTX_preloaded_symbols;\n') ('}\n') ('#endif\n') ('\n') ('#ifdef __cplusplus\n') ('}\n') ('#endif')
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op: <Redir_DGreat '>>'>
                                          fd: 16777215
                                          arg_word: 
                                            {
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                ($ VSub_Name '$my_dlsyms')
                                              )
                                            }
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [13361]
                                )
                              ]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:pic_flag_for_symtable)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [13853]
                                )
                              ]
                              spids: [13853]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name '$compile_command') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (DQ (' -static ')) (Lit_Other '*')}]
                                  spids: [13866 13871 13873 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name '$host')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-freebsd2) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-freebsd3.0) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-freebsdelf3.0) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:pic_flag_for_symtable)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ (' ') ($ VSub_Name '$pic_flag') 
                                                        (' -DFREEBSD_WORKAROUND')
                                                      )
                                                    }
                                                  spids: [13927]
                                                )
                                              ]
                                              spids: [13927]
                                            )
                                          ]
                                          spids: [13907 13924 13934 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-hpux) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:pic_flag_for_symtable)
                                                  op: Equal
                                                  rhs: {(DQ (' ') ($ VSub_Name '$pic_flag'))}
                                                  spids: [13945]
                                                )
                                              ]
                                              spids: [13945]
                                            )
                                          ]
                                          spids: [13937 13942 13951 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ (X) ($ VSub_Name '$my_pic_p'))} 
                                                          {(KW_Bang '!') (Lit_Other '=')} {(Xno)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:pic_flag_for_symtable)
                                                          op: Equal
                                                          rhs: {(DQ (' ') ($ VSub_Name '$pic_flag'))}
                                                          spids: [13976]
                                                        )
                                                      ]
                                                      spids: [13976]
                                                    )
                                                  ]
                                                  spids: [16777215 13973]
                                                )
                                              ]
                                              spids: [16777215 13983]
                                            )
                                          ]
                                          spids: [13954 13955 13986 16777215]
                                        )
                                      ]
                                      spids: [13880 13884 13989]
                                    )
                                  ]
                                  spids: [13876 13877 13992 16777215]
                                )
                              ]
                              spids: [13856 13863 13995]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:symtab_cflags)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [13998]
                                )
                              ]
                              spids: [13998]
                            )
                            (ForEach
                              iter_name: arg
                              iter_words: [{($ VSub_Name '$LTCFLAGS')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {($ VSub_Name '$arg')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(-pie)} {(-fpie)} {(-fPIE)}]
                                          spids: [14020 14029 14031 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:symtab_cflags)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$symtab_cflags') (' ') 
                                                        ($ VSub_Name '$arg')
                                                      )
                                                    }
                                                  spids: [14037]
                                                )
                                              ]
                                              spids: [14037]
                                            )
                                          ]
                                          spids: [14034 14035 14044 16777215]
                                        )
                                      ]
                                      spids: [14013 14017 14047]
                                    )
                                  ]
                                  spids: [14010 14050]
                                )
                              spids: [14006 14008]
                            )
                            (C {(func_show_eval)} 
                              {
                                (SQ 
                                  <
'(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")'
                                  >
                                )
                              } {(SQ <'exit $?'>)}
                            )
                            (C {(func_show_eval)} 
                              {
                                (SQ 
                                  <
'$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
                                  >
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:symfileobj)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                        (${ VSub_Name my_outputname) (S.) ($ VSub_Name '$objext')
                                      )
                                    }
                                  spids: [14086]
                                )
                              ]
                              spids: [14086]
                            )
                            (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 (X) 
                                                                        ($ VSub_Name 
'$compile_command'
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                                    {
                                                                      (DQ ('s%@SYMFILE@%') 
                                                                        ($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$my_outputname') ('.def ') ($ VSub_Name '$symfileobj') ('%')
                                                                      )
                                                                    }
                                                                  )
                                                                ]
                                                                negated: F
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [14142 14165]
                                                      )
                                                    }
                                                  spids: [14141]
                                                )
                                              ]
                                              spids: [14141]
                                            )
                                            (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 (X) 
                                                                        ($ VSub_Name 
'$finalize_command'
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                                    {
                                                                      (DQ ('s%@SYMFILE@%') 
                                                                        ($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$my_outputname') ('.def ') ($ VSub_Name '$symfileobj') ('%')
                                                                      )
                                                                    }
                                                                  )
                                                                ]
                                                                negated: F
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [14169 14192]
                                                      )
                                                    }
                                                  spids: [14168]
                                                )
                                              ]
                                              spids: [14168]
                                            )
                                          ]
                                          spids: [16777215 14138]
                                        )
                                      ]
                                      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 (X) 
                                                                    ($ VSub_Name '$compile_command')
                                                                  )
                                                                }
                                                              )
                                                              (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                                {
                                                                  (DQ ('s%@SYMFILE@%') 
                                                                    ($ VSub_Name '$symfileobj') ('%')
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: F
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [14199 14218]
                                                  )
                                                }
                                              spids: [14198]
                                            )
                                          ]
                                          spids: [14198]
                                        )
                                        (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 (X) 
                                                                    ($ VSub_Name '$finalize_command')
                                                                  )
                                                                }
                                                              )
                                                              (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                                {
                                                                  (DQ ('s%@SYMFILE@%') 
                                                                    ($ VSub_Name '$symfileobj') ('%')
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: F
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [14222 14241]
                                                  )
                                                }
                                              spids: [14221]
                                            )
                                          ]
                                          spids: [14221]
                                        )
                                      ]
                                      spids: [14195 14244]
                                    )
                                  ]
                                  spids: [14105 14121 14247 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:compile_command)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {
                                                              (DQ (X) ($ VSub_Name '$compile_command'))
                                                            }
                                                          )
                                                          (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                            {
                                                              (DQ ('s%@SYMFILE@%') 
                                                                ($ VSub_Name '$symfileobj') ('%')
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [14255 14274]
                                              )
                                            }
                                          spids: [14254]
                                        )
                                      ]
                                      spids: [14254]
                                    )
                                    (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 (X) 
                                                                ($ VSub_Name '$finalize_command')
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                            {
                                                              (DQ ('s%@SYMFILE@%') 
                                                                ($ VSub_Name '$symfileobj') ('%')
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [14278 14297]
                                              )
                                            }
                                          spids: [14277]
                                        )
                                      ]
                                      spids: [14277]
                                    )
                                  ]
                                  spids: [14250 14251 14300 16777215]
                                )
                              ]
                              spids: [14098 14102 14303]
                            )
                          ]
                          spids: [12757 12759 14306 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (C {(func_fatal_error)} 
                              {
                                (DQ ('unknown suffix for ') 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\`'>
                                  ) ($ VSub_Name '$my_dlsyms') ("'")
                                )
                              }
                            )
                          ]
                          spids: [14309 14310 14323 16777215]
                        )
                      ]
                      spids: [12743 12747 14326]
                    )
                  ]
                  spids: [16777215 12740]
                )
              ]
              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 (X) ($ VSub_Name '$compile_command'))}
                                      )
                                      (C {($ VSub_Name '$Xsed')} {(-e)} {(DQ ('s% @SYMFILE@%%'))})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [14350 14367]
                          )
                        }
                      spids: [14349]
                    )
                  ]
                  spids: [14349]
                )
                (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 (X) ($ VSub_Name '$finalize_command'))}
                                      )
                                      (C {($ VSub_Name '$Xsed')} {(-e)} {(DQ ('s% @SYMFILE@%%'))})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [14371 14388]
                          )
                        }
                      spids: [14370]
                    )
                  ]
                  spids: [14370]
                )
              ]
              spids: [14329 14391]
            )
          ]
          spids: [12601]
        )
      spids: [12596 12600]
    )
    (FuncDef
      name: func_win32_libid
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:win32_libid_type)
                  op: Equal
                  rhs: {(DQ (unknown))}
                  spids: [14425]
                )
              ]
              spids: [14425]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:win32_fileres)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [{(file)} {(-L)} {($ VSub_Number '$1')}]
                                redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [14432 14441]
                      )
                    }
                  spids: [14431]
                )
              ]
              spids: [14431]
            )
            (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: [14466]
                        )
                      ]
                      spids: [14466]
                    )
                  ]
                  spids: [14451 14460 14472 16777215]
                )
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (ar) (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (archive) 
                      (Lit_Other '*')
                    }
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (Pipeline
                                  children: [
                                    (C {(eval)} {($ VSub_Name '$OBJDUMP')} {(-f)} {($ VSub_Number '$1')})
                                    (SimpleCommand
                                      words: [{($ VSub_Name '$SED')} {(-e)} {(SQ <10q>)}]
                                      redirects: [
                                        (Redir
                                          op: <Redir_Great '2>'>
                                          fd: 2
                                          arg_word: {(/dev/null)}
                                        )
                                      ]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {($ VSub_Name '$EGREP')}
                                        {(SQ <'file format pe-i386(.*architecture: i386)?'>)}
                                      ]
                                      redirects: [
                                        (Redir
                                          op: <Redir_Great '>'>
                                          fd: 16777215
                                          arg_word: {(/dev/null)}
                                        )
                                      ]
                                    )
                                  ]
                                  negated: F
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:win32_nmres)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(eval)} {($ VSub_Name '$NM')} {(-f)} {(posix)} 
                                                    {(-A)} {($ VSub_Number '$1')}
                                                  )
                                                  (C {($ VSub_Name '$SED')} {(-n)} {(-e)} 
                                                    {
                                                      (SQ <'\n'> <'\t    1,100{\n'> <'\t\t/ I /{\n'> 
                                                        <'\t\t    s,.*,import,\n'> <'\t\t    p\n'> <'\t\t    q\n'> <'\t\t}\n'> <'\t    }'>
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [14527 14559]
                                      )
                                    }
                                  spids: [14526]
                                )
                              ]
                              spids: [14526]
                            )
                            (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: [14573]
                                        )
                                      ]
                                      spids: [14573]
                                    )
                                  ]
                                  spids: [14569 14571 14577 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:win32_libid_type)
                                          op: Equal
                                          rhs: {(DQ ('x86 archive static'))}
                                          spids: [14583]
                                        )
                                      ]
                                      spids: [14583]
                                    )
                                  ]
                                  spids: [14580 14581 14587 16777215]
                                )
                              ]
                              spids: [14562 14566 14590]
                            )
                          ]
                          spids: [16777215 14523]
                        )
                      ]
                      spids: [16777215 14593]
                    )
                  ]
                  spids: [14475 14480 14596 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*') (DLL) (Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:win32_libid_type)
                          op: Equal
                          rhs: {(DQ ('x86 DLL'))}
                          spids: [14605]
                        )
                      ]
                      spids: [14605]
                    )
                  ]
                  spids: [14599 14602 14611 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*') (executable) (Lit_Other '*')}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name '$win32_fileres')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(Lit_Other '*') (MS) (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) 
                              (Windows) (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (PE) 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\ '>
                              ) (Intel) (Lit_Other '*')
                            }
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:win32_libid_type)
                                  op: Equal
                                  rhs: {(DQ ('x86 DLL'))}
                                  spids: [14642]
                                )
                              ]
                              spids: [14642]
                            )
                          ]
                          spids: [14630 14639 14648 16777215]
                        )
                      ]
                      spids: [14623 14627 14651]
                    )
                  ]
                  spids: [14614 14617 14654 16777215]
                )
              ]
              spids: [14444 14448 14657]
            )
            (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$win32_libid_type'))})
          ]
          spids: [14419]
        )
      spids: [14414 14418]
    )
    (FuncDef
      name: func_extract_an_archive
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:f_ex_an_ar_dir)
                      op: Equal
                      rhs: {(DQ ($ VSub_Number '$1'))}
                      spids: [14685]
                    )
                  ]
                  spids: [14685]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(shift)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:f_ex_an_ar_oldlib)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$1'))}
                  spids: [14694]
                )
              ]
              spids: [14694]
            )
            (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 <'exit $?'>)}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Subshell
                          child: 
                            (Pipeline
                              children: [
                                (C {($ VSub_Name '$AR')} {(t)} {(DQ ($ VSub_Name '$f_ex_an_ar_oldlib'))})
                                (C {(sort)})
                                (SimpleCommand
                                  words: [{(sort)} {(-uc)}]
                                  redirects: [
                                    (Redir
                                      op: <Redir_Great '>'>
                                      fd: 16777215
                                      arg_word: {(/dev/null)}
                                    )
                                    (Redir
                                      op: <Redir_GreatAnd '2>&'>
                                      fd: 2
                                      arg_word: {(1)}
                                    )
                                  ]
                                )
                              ]
                              negated: F
                            )
                          spids: [14722 14746]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(Lit_Other ':')})]
                  spids: [16777215 14749]
                )
              ]
              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: [14755 14768]
            )
          ]
          spids: [14679]
        )
      spids: [14674 14678]
    )
    (FuncDef
      name: func_extract_archives
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:my_gentop)
                      op: Equal
                      rhs: {(DQ ($ VSub_Number '$1'))}
                      spids: [14788]
                    )
                  ]
                  spids: [14788]
                )
              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: [14798 14804]
                      )
                    }
                  spids: [14797]
                )
              ]
              spids: [14797]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_oldobjs) op:Equal rhs:{(DQ )} spids:[14807])]
              spids: [14807]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_xlib) op:Equal rhs:{(DQ )} spids:[14812])]
              spids: [14812]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_xabs) op:Equal rhs:{(DQ )} spids:[14817])]
              spids: [14817]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_xdir) op:Equal rhs:{(DQ )} spids:[14822])]
              spids: [14822]
            )
            (ForEach
              iter_name: my_xlib
              iter_words: [{($ VSub_Name '$my_oldlibs')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$my_xlib')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(Lit_Other '[') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (/) 
                              (Lit_Other ']') (Lit_Other '*')
                            }
                            {(Lit_Other '[') (A-Za-z) (Lit_Other ']') (Lit_Other ':') (Lit_Other '[') 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\\\'>
                              ) (/) (Lit_Other ']') (Lit_Other '*')
                            }
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:my_xabs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$my_xlib'))}
                                  spids: [14870]
                                )
                              ]
                              spids: [14870]
                            )
                          ]
                          spids: [14851 14868 14875 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:my_xabs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: (CommandList children:[(C {(pwd)})])
                                        left_token: <Left_Backtick '`'>
                                        spids: [14882 14884]
                                      ) (DQ (/) ($ VSub_Name '$my_xlib'))
                                    }
                                  spids: [14881]
                                )
                              ]
                              spids: [14881]
                            )
                          ]
                          spids: [14878 14879 14890 16777215]
                        )
                      ]
                      spids: [14844 14848 14893]
                    )
                    (C {(func_basename)} {(DQ ($ VSub_Name '$my_xlib'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_xlib)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                          spids: [14903]
                        )
                      ]
                      spids: [14903]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_xlib_u)
                          op: Equal
                          rhs: {($ VSub_Name '$my_xlib')}
                          spids: [14909]
                        )
                      ]
                      spids: [14909]
                    )
                    (WhileUntil
                      keyword: <KW_While while>
                      cond: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {(DQ (' ') ($ VSub_Name '$extracted_archives') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$my_xlib_u') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  action: [
                                    (C {(func_arith)} {($ VSub_Name '$extracted_serial')} 
                                      {(Lit_Other '+')} {(1)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:extracted_serial)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_arith_result')}
                                          spids: [14951]
                                        )
                                      ]
                                      spids: [14951]
                                    )
                                    (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: [14955]
                                        )
                                      ]
                                      spids: [14955]
                                    )
                                  ]
                                  spids: [14932 14939 14961 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                                  spids: [14964 14965 14969 16777215]
                                )
                              ]
                              spids: [14921 14929 14972]
                            )
                          ]
                          spids: [14918 14975]
                        )
                    )
                    (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: [14978]
                        )
                      ]
                      spids: [14978]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_xdir)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$my_gentop') (/) ($ VSub_Name '$my_xlib_u'))}
                          spids: [14986]
                        )
                      ]
                      spids: [14986]
                    )
                    (C {(func_mkdir_p)} {(DQ ($ VSub_Name '$my_xdir'))})
                    (Case
                      to_match: {($ VSub_Name '$host')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (-darwin) (Lit_Other '*')}]
                          action: [
                            (C {(func_verbose)} {(DQ ('Extracting ') ($ VSub_Name '$my_xabs'))})
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (BraceGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:darwin_orig_dir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: (CommandList children:[(C {(pwd)})])
                                                left_token: <Left_Backtick '`'>
                                                spids: [15036 15038]
                                              )
                                            }
                                          spids: [15035]
                                        )
                                      ]
                                      spids: [15035]
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(cd)} {($ VSub_Name '$my_xdir')})
                                        (ControlFlow
                                          token: <ControlFlow_Exit exit>
                                          arg_word: {($ VSub_QMark '$?')}
                                        )
                                      ]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:darwin_archive)
                                          op: Equal
                                          rhs: {($ VSub_Name '$my_xabs')}
                                          spids: [15052]
                                        )
                                      ]
                                      spids: [15052]
                                    )
                                    (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: [15057 15059]
                                              )
                                            }
                                          spids: [15056]
                                        )
                                      ]
                                      spids: [15056]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:darwin_base_archive)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (C {(basename)} 
                                                        {(DQ ($ VSub_Name '$darwin_archive'))}
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [15063 15069]
                                              )
                                            }
                                          spids: [15062]
                                        )
                                      ]
                                      spids: [15062]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:darwin_arches)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (AndOr
                                                        ops: [Op_DPipe]
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (SimpleCommand
                                                                words: [
                                                                  {($ VSub_Name '$LIPO')}
                                                                  {(-info)}
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name '$darwin_archive')
                                                                    )
                                                                  }
                                                                ]
                                                                redirects: [
                                                                  (Redir
                                                                    op: <Redir_Great '2>'>
                                                                    fd: 2
                                                                    arg_word: {(/dev/null)}
                                                                  )
                                                                ]
                                                              )
                                                              (SimpleCommand
                                                                words: [
                                                                  {($ VSub_Name '$GREP')}
                                                                  {(Architectures)}
                                                                ]
                                                                redirects: [
                                                                  (Redir
                                                                    op: <Redir_Great '2>'>
                                                                    fd: 2
                                                                    arg_word: {(/dev/null)}
                                                                  )
                                                                ]
                                                              )
                                                            ]
                                                            negated: F
                                                          )
                                                          (C {(true)})
                                                        ]
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [15073 15097]
                                              )
                                            }
                                          spids: [15072]
                                        )
                                      ]
                                      spids: [15072]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$darwin_arches'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_arches)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {($ VSub_Name '$ECHO')} 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name '$darwin_arches')
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name '$SED')} {(-e)} 
                                                                    {(SQ <'s/.*are://'>)}
                                                                  )
                                                                ]
                                                                negated: F
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [15115 15131]
                                                      )
                                                    }
                                                  spids: [15114]
                                                )
                                              ]
                                              spids: [15114]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_arch)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [15134]
                                                )
                                              ]
                                              spids: [15134]
                                            )
                                            (C {(func_verbose)} 
                                              {
                                                (DQ ($ VSub_Name '$darwin_base_archive') 
                                                  (' has multiple architectures ') ($ VSub_Name '$darwin_arches')
                                                )
                                              }
                                            )
                                            (ForEach
                                              iter_name: darwin_arch
                                              iter_words: [{($ VSub_Name '$darwin_arches')}]
                                              do_arg_iter: F
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (C {(func_mkdir_p)} 
                                                      {
                                                        (DQ (unfat-) ($ VSub_Dollar '$$') (/) 
                                                          (${ VSub_Name darwin_base_archive) (-) (${ VSub_Name darwin_arch)
                                                        )
                                                      }
                                                    )
                                                    (C {($ VSub_Name '$LIPO')} {(-thin)} 
                                                      {($ VSub_Name '$darwin_arch')} {(-output)} 
                                                      {
                                                        (DQ (unfat-) ($ VSub_Dollar '$$') (/) 
                                                          (${ VSub_Name darwin_base_archive) (-) (${ VSub_Name darwin_arch) (/) (${ VSub_Name darwin_base_archive)
                                                        )
                                                      } {(DQ (${ VSub_Name darwin_archive))}
                                                    )
                                                    (C {(cd)} 
                                                      {
                                                        (DQ (unfat-) ($ VSub_Dollar '$$') (/) 
                                                          (${ VSub_Name darwin_base_archive) (-) (${ VSub_Name darwin_arch)
                                                        )
                                                      }
                                                    )
                                                    (C {(func_extract_an_archive)} 
                                                      {
                                                        (DQ 
                                                          (CommandSubPart
                                                            command_list: 
                                                              (CommandList
                                                                children: [(C {(pwd)})]
                                                              )
                                                            left_token: <Left_Backtick '`'>
                                                            spids: [15226 15228]
                                                          )
                                                        )
                                                      } {(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: [15156 15265]
                                                )
                                              spids: [15151 15154]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_filelist)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {(find)} 
                                                                    {(unfat-) ($ VSub_Dollar '$$')} {(-type)} {(f)} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.o)} {(-print)} {(-o)} 
                                                                    {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.lo)} {(-print)}
                                                                  )
                                                                  (C {($ VSub_Name '$SED')} {(-e)} 
                                                                    {(DQ ($ VSub_Name '$basename'))}
                                                                  )
                                                                  (C {(sort)} {(-u)})
                                                                ]
                                                                negated: F
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [15276 15317]
                                                      )
                                                    }
                                                  spids: [15275]
                                                )
                                              ]
                                              spids: [15275]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_file)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [15320]
                                                )
                                              ]
                                              spids: [15320]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_files)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [15323]
                                                )
                                              ]
                                              spids: [15323]
                                            )
                                            (ForEach
                                              iter_name: darwin_file
                                              iter_words: [{($ VSub_Name '$darwin_filelist')}]
                                              do_arg_iter: F
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:darwin_files)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (CommandSubPart
                                                                command_list: 
                                                                  (CommandList
                                                                    children: [
                                                                      (Pipeline
                                                                        children: [
                                                                          (C {(find)} 
                                                                            {(unfat-) 
                                                                              ($ VSub_Dollar '$$')
                                                                            } {(-name)} {($ VSub_Name '$darwin_file')} {(-print)}
                                                                          )
                                                                          (C {($ VSub_Name '$NL2SP')})
                                                                        ]
                                                                        negated: F
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_Backtick '`'>
                                                                spids: [15339 15354]
                                                              )
                                                            }
                                                          spids: [15338]
                                                        )
                                                      ]
                                                      spids: [15338]
                                                    )
                                                    (C {($ VSub_Name '$LIPO')} {(-create)} {(-output)} 
                                                      {(DQ ($ VSub_Name '$darwin_file'))} {($ VSub_Name '$darwin_files')}
                                                    )
                                                  ]
                                                  spids: [15335 15370]
                                                )
                                              spids: [15331 15333]
                                            )
                                            (C {($ VSub_Name '$RM')} {(-rf)} 
                                              {(unfat-) ($ VSub_Dollar '$$')}
                                            )
                                            (C {(cd)} {(DQ ($ VSub_Name '$darwin_orig_dir'))})
                                          ]
                                          spids: [16777215 15111]
                                        )
                                      ]
                                      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: [15391 15410]
                                    )
                                  ]
                                  spids: [15032]
                                )
                              ]
                            )
                          ]
                          spids: [15010 15013 15422 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (C {(func_extract_an_archive)} {(DQ ($ VSub_Name '$my_xdir'))} 
                              {(DQ ($ VSub_Name '$my_xabs'))}
                            )
                          ]
                          spids: [15425 15426 15440 16777215]
                        )
                      ]
                      spids: [15003 15007 15443]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_oldobjs)
                          op: Equal
                          rhs: 
                            {(DQ ($ VSub_Name '$my_oldobjs') (' ')) 
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(find)} {($ VSub_Name '$my_xdir')} {(-name)} 
                                            {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.) 
                                              ($ VSub_Name '$objext')
                                            } {(-print)} {(-o)} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.lo)} {(-print)}
                                          )
                                          (C {($ VSub_Name '$NL2SP')})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [15451 15476]
                              )
                            }
                          spids: [15446]
                        )
                      ]
                      spids: [15446]
                    )
                  ]
                  spids: [14837 15479]
                )
              spids: [14833 14835]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_extract_archives_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$my_oldobjs'))}
                  spids: [15483]
                )
              ]
              spids: [15483]
            )
          ]
          spids: [14782]
        )
      spids: [14777 14781]
    )
    (FuncDef
      name: func_emit_wrapper_part1
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_emit_wrapper_part1_arg1)
                  op: Equal
                  rhs: {(no)}
                  spids: [15516]
                )
              ]
              spids: [15516]
            )
            (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_emit_wrapper_part1_arg1)
                          op: Equal
                          rhs: {($ VSub_Number '$1')}
                          spids: [15535]
                        )
                      ]
                      spids: [15535]
                    )
                  ]
                  spids: [16777215 15532]
                )
              ]
              spids: [16777215 15539]
            )
            (C {($ VSub_Name '$ECHO')} 
              {
                (DQ ('#! ') ($ VSub_Name '$SHELL') ('\n') ('\n') ('# ') ($ VSub_Name '$output') 
                  (' - temporary wrapper script for ') ($ VSub_Name '$objdir') (/) ($ VSub_Name '$outputname') ('\n') ('# Generated by ') 
                  ($ VSub_Name '$PROGRAM') (' (GNU ') ($ VSub_Name '$PACKAGE') ($ VSub_Name '$TIMESTAMP') (') ') ($ VSub_Name '$VERSION') ('\n') 
                  ('#\n') ('# The ') ($ VSub_Name '$output') (' program cannot be directly executed until all the libtool\n') 
                  ('# libraries that it depends on are installed.\n') ('#\n') ('# This wrapper script should never be moved out of the build directory.\n') 
                  ('# If it is, it will not operate correctly.\n') ('\n') ('# Sed substitution that helps us do robust quoting.  It backslashifies\n') 
                  ('# metacharacters that are still active within double-quoted strings.\n') ("Xsed='") (${ VSub_Name SED) (" -e 1s/^X//'\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') ('    ECHO=') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$qecho') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('    file=') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (0) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('    # Make sure echo works.\n') ('    if test ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (X) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (1) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' = X--no-reexec; then\n') ('      # Discard the --no-reexec flag, and continue.\n') ('      shift\n') 
                  ('    elif test ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (X) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('{ ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ("ECHO '") (Lit_Other '\\') 
                  ("t'; } 2>/dev/null") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (" = 'X") (Lit_Other '\\') ("t'; then\n") ('      # Yippee, ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                  ('ECHO works!\n') ('      :\n') ('    else\n') ('      # Restart under the correct shell, and then maybe ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO will work.\n') ('      exec ') ($ VSub_Name '$SHELL') (' ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (0) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' --no-reexec ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{1+') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('@') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('}\n') ('    fi\n') ('  fi')
                )
              }
            )
            (C {($ VSub_Name '$ECHO')} 
              {
                (DQ ('\n') ('  # Find the directory that this script lives in.\n') ('  thisdir=') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (X) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' | ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ("Xsed -e '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 '\\"'>) (X) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' | ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ("Xsed -e '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 '\\"'>) (X) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' | ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ("Xsed -e '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')
                )
              }
            )
          ]
          spids: [15513]
        )
      spids: [15508 15512]
    )
    (FuncDef
      name: func_emit_wrapper_part2
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_emit_wrapper_part2_arg1)
                  op: Equal
                  rhs: {(no)}
                  spids: [15915]
                )
              ]
              spids: [15915]
            )
            (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_emit_wrapper_part2_arg1)
                          op: Equal
                          rhs: {($ VSub_Number '$1')}
                          spids: [15934]
                        )
                      ]
                      spids: [15934]
                    )
                  ]
                  spids: [16777215 15931]
                )
              ]
              spids: [16777215 15938]
            )
            (C {($ VSub_Name '$ECHO')} 
              {
                (DQ ('\n') ("  # Usually 'no', except on cygwin/mingw when embedded into\n") 
                  ('  # the cwrapper.\n') ('  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=') ($ VSub_Name '$func_emit_wrapper_part2_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 '\\"'>) (X) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (thisdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' | ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ("Xsed -e 's%[") 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('/][^') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('/]*') (Lit_Other '$') ("%%'") 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (' ;;\n') ('    ') ($ VSub_Name '$objdir') (' )   thisdir=. ;;\n') ('    esac\n') ('  fi\n') ('\n') 
                  ('  # Try to get the absolute directory name.\n') ('  absdir=') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('cd ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (thisdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' && pwd') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('\n') ('  test -n ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (absdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' && thisdir=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (absdir) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n')
                )
              }
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$fast_install'))} {(Lit_Other '=')} {(yes)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ("  program=lt-'") ($ VSub_Name '$outputname') ("'") ($ VSub_Name '$exeext') 
                          ('\n') ('  progdir=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (thisdir/) ($ VSub_Name '$objdir') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('\n') 
                          ('  if test ! -f ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                          (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (program) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ||\n') ('     { file=') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('ls -1dt ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (program) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/../) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (program) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' 2>/dev/null | ') (${ VSub_Name SED) 
                          (' 1q') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('; ') 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar '\\\\'>
                          ) ('\n') ('       test ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (X) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' != ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (X) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (program) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; }; then\n') ('\n') ('    file=') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                          (-) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (program) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('\n') ('    if test ! -d ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; then\n') ('      ') 
                          ($ VSub_Name '$MKDIR') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('    else\n') ('      ') 
                          ($ VSub_Name '$RM') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('    fi')
                        )
                      }
                    )
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('\n') ('    # relink executable if necessary\n') ('    if test -n ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (relink_command) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; then\n') ('      if relink_command_output=') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                          ('eval ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('relink_command 2>&1') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('; then :\n') ('      else\n') ('\t') ($ VSub_Name '$ECHO') (' ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (relink_command_output) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' >&2\n') ('\t') ($ VSub_Name '$RM') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('\texit 1\n') ('      fi\n') ('    fi\n') ('\n') ('    ') ($ VSub_Name '$MV') (' ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (program) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' 2>/dev/null ||\n') ('    { ') 
                          ($ VSub_Name '$RM') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (program) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (';\n') ('      ') ($ VSub_Name '$MV') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (program) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; }\n') ('    ') ($ VSub_Name '$RM') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('  fi')
                        )
                      }
                    )
                  ]
                  spids: [16777215 16058]
                )
              ]
              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: [16267 16287]
            )
            (C {($ VSub_Name '$ECHO')} 
              {
                (DQ ('\n') ('  if test -f ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (program) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; then')
                )
              }
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp Op_DAmp]
                          children: [
                            (C {(test)} {(DQ ($ VSub_Name '$shlibpath_overrides_runpath'))} 
                              {(Lit_Other '=')} {(yes)}
                            )
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$shlibpath_var'))})
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$temp_rpath'))})
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('    # Add our own library path to ') ($ VSub_Name '$shlibpath_var') 
                          ('\n') ('    ') ($ VSub_Name '$shlibpath_var') ('=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          ($ VSub_Name '$temp_rpath') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ($ VSub_Name '$shlibpath_var') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('\n') ('    # Some systems cannot cope with colon-terminated ') ($ VSub_Name '$shlibpath_var') 
                          ('\n') ('    # The second colon is a workaround for a bug in BeOS R4 sed\n') ('    ') 
                          ($ VSub_Name '$shlibpath_var') ('=') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (X) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ($ VSub_Name '$shlibpath_var') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' | ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ("Xsed -e 's/::*") (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ("//'") 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('\n') ('\n') ('    export ') ($ VSub_Name '$shlibpath_var') ('\n')
                        )
                      }
                    )
                  ]
                  spids: [16777215 16345]
                )
              ]
              spids: [16777215 16394]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dllsearchpath'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('    # Add the dll search path components to the executable PATH\n') 
                          ('    PATH=') ($ VSub_Name '$dllsearchpath') (':') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('PATH\n')
                        )
                      }
                    )
                  ]
                  spids: [16777215 16413]
                )
              ]
              spids: [16777215 16429]
            )
            (C {($ VSub_Name '$ECHO')} 
              {
                (DQ ('    if test ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (libtool_execute_magic) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' != ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$magic') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; then\n') 
                  ('      # Run the actual program with our arguments.\n')
                )
              }
            )
            (Case
              to_match: {($ VSub_Name '$host')}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (-) (Lit_Other '*') (-mingw)}
                    {(Lit_Other '*') (-) (Lit_Other '*') (-os2) (Lit_Other '*')}
                    {(Lit_Other '*') (-cegcc) (Lit_Other '*')}
                  ]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('      exec ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar '\\\\'>
                          ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (program) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{1+') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('@') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('}\n')
                        )
                      }
                    )
                  ]
                  spids: [16462 16480 16507 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('      exec ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (program) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{1+') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('@') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('}\n')
                        )
                      }
                    )
                  ]
                  spids: [16511 16512 16537 16777215]
                )
              ]
              spids: [16451 16455 16540]
            )
            (C {($ VSub_Name '$ECHO')} 
              {
                (DQ ('      ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('0: cannot exec ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('program ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('*') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' 1>&2\n') ('      exit 1\n') ('    fi\n') ('  else\n') ("    # The program doesn't exist.\n") ('    ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('0: error: ') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ("program' does not exist") (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' 1>&2\n') ('    ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('This script is just a wrapper for ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (program.) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' 1>&2\n') ('    ') ($ VSub_Name '$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: [15912]
        )
      spids: [15907 15911]
    )
    (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: {(no)}
                  spids: [16658]
                )
              ]
              spids: [16658]
            )
            (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_emit_wrapper_arg1)
                          op: Equal
                          rhs: {($ VSub_Number '$1')}
                          spids: [16677]
                        )
                      ]
                      spids: [16677]
                    )
                  ]
                  spids: [16777215 16674]
                )
              ]
              spids: [16777215 16681]
            )
            (C {(func_emit_wrapper_part1)} {(DQ (${ VSub_Name func_emit_wrapper_arg1))})
            (C {(func_emit_wrapper_part2)} {(DQ (${ VSub_Name func_emit_wrapper_arg1))})
          ]
          spids: [16655]
        )
      spids: [16650 16654]
    )
    (FuncDef
      name: func_to_host_path
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_path_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$1'))}
                  spids: [16785]
                )
              ]
              spids: [16785]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number '$1'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Case
                      to_match: {($ VSub_Name '$host')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (mingw) (Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lt_sed_naive_backslashify)
                                  op: Equal
                                  rhs: {(SQ <'s|\\\\\\\\*|\\\\|g;s|/|\\\\|g;s|\\\\|\\\\\\\\|g'>)}
                                  spids: [16820]
                                )
                              ]
                              spids: [16820]
                            )
                            (Case
                              to_match: {($ VSub_Name '$build')}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (mingw) (Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lt_sed_strip_trailing_spaces)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ('s/[ ]*') 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar '\\$'>
                                                ) (//)
                                              )
                                            }
                                          spids: [16847]
                                        )
                                      ]
                                      spids: [16847]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_path_tmp1)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (AndOr
                                                        ops: [Op_DPipe]
                                                        children: [
                                                          (Subshell
                                                            child: 
                                                              (Pipeline
                                                                children: [
                                                                  (C {(cmd)} {(//c)} {(echo)} 
                                                                    {(DQ ($ VSub_Number '$1'))}
                                                                  )
                                                                  (C {($ VSub_Name '$SED')} {(-e)} 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$lt_sed_strip_trailing_spaces'
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                ]
                                                                negated: F
                                                              )
                                                            redirects: [
                                                              (Redir
                                                                op: <Redir_Great '2>'>
                                                                fd: 2
                                                                arg_word: {(/dev/null)}
                                                              )
                                                            ]
                                                            spids: [16857 16880]
                                                          )
                                                          (C {(echo)} {(DQ )})
                                                        ]
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [16856 16891]
                                              )
                                            }
                                          spids: [16855]
                                        )
                                      ]
                                      spids: [16855]
                                    )
                                    (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_Name 
'$func_to_host_path_tmp1'
                                                                )
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name '$SED')} {(-e)} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
'$lt_sed_naive_backslashify'
                                                                )
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [16895 16912]
                                              )
                                            }
                                          spids: [16894]
                                        )
                                      ]
                                      spids: [16894]
                                    )
                                  ]
                                  spids: [16833 16837 16915 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (cygwin) (Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_path_tmp1)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (C {(cygpath)} {(-w)} {(DQ ($ VSub_Number '$1'))})
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [16926 16934]
                                              )
                                            }
                                          spids: [16925]
                                        )
                                      ]
                                      spids: [16925]
                                    )
                                    (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_Name 
'$func_to_host_path_tmp1'
                                                                )
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name '$SED')} {(-e)} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
'$lt_sed_naive_backslashify'
                                                                )
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [16938 16955]
                                              )
                                            }
                                          spids: [16937]
                                        )
                                      ]
                                      spids: [16937]
                                    )
                                  ]
                                  spids: [16918 16922 16958 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_path_tmp1)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (SimpleCommand
                                                        words: [
                                                          {(winepath)}
                                                          {(-w)}
                                                          {(DQ ($ VSub_Number '$1'))}
                                                        ]
                                                        redirects: [
                                                          (Redir
                                                            op: <Redir_Great '2>'>
                                                            fd: 2
                                                            arg_word: {(/dev/null)}
                                                          )
                                                        ]
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [16995 17006]
                                              )
                                            }
                                          spids: [16994]
                                        )
                                      ]
                                      spids: [16994]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_QMark '$?'))} {(-eq)} {(0)})
                                                    (C {(test)} {(-n)} 
                                                      {(DQ (${ VSub_Name func_to_host_path_tmp1))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:func_to_host_path_result)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {(echo)} 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$func_to_host_path_tmp1'
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name '$SED')} {(-e)} 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$lt_sed_naive_backslashify'
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                ]
                                                                negated: F
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [17038 17055]
                                                      )
                                                    }
                                                  spids: [17037]
                                                )
                                              ]
                                              spids: [17037]
                                            )
                                          ]
                                          spids: [16777215 17034]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:func_to_host_path_result)
                                              op: Equal
                                              rhs: {(DQ )}
                                              spids: [17065]
                                            )
                                          ]
                                          spids: [17065]
                                        )
                                      ]
                                      spids: [17058 17070]
                                    )
                                  ]
                                  spids: [16961 16963 17073 16777215]
                                )
                              ]
                              spids: [16826 16830 17076]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-z)} 
                                          {(DQ ($ VSub_Name '$func_to_host_path_result'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_error)} 
                                      {(DQ ('Could not determine host path corresponding to'))}
                                    )
                                    (C {(func_error)} {(DQ ("  '") ($ VSub_Number '$1') ("'"))})
                                    (C {(func_error)} 
                                      {
                                        (DQ ('Continuing, but uninstalled executables may not work.'))
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_path_result)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Number '$1'))}
                                          spids: [17121]
                                        )
                                      ]
                                      spids: [17121]
                                    )
                                  ]
                                  spids: [16777215 17091]
                                )
                              ]
                              spids: [16777215 17127]
                            )
                          ]
                          spids: [16813 16817 17130 16777215]
                        )
                      ]
                      spids: [16806 16810 17133]
                    )
                  ]
                  spids: [16777215 16803]
                )
              ]
              spids: [16777215 17136]
            )
          ]
          spids: [16782]
        )
      spids: [16777 16781]
    )
    (FuncDef
      name: func_to_host_pathlist
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_pathlist_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$1'))}
                  spids: [17209]
                )
              ]
              spids: [17209]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number '$1'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Case
                      to_match: {($ VSub_Name '$host')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (mingw) (Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lt_sed_naive_backslashify)
                                  op: Equal
                                  rhs: {(SQ <'s|\\\\\\\\*|\\\\|g;s|/|\\\\|g;s|\\\\|\\\\\\\\|g'>)}
                                  spids: [17244]
                                )
                              ]
                              spids: [17244]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_to_host_pathlist_tmp2)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Number '$1'))}
                                  spids: [17262]
                                )
                              ]
                              spids: [17262]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_to_host_pathlist_tmp1)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} 
                                                    {
                                                      (DQ ($ VSub_Name '$func_to_host_pathlist_tmp2'))
                                                    }
                                                  )
                                                  (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'s|^:*||'>)} 
                                                    {(-e)} {(SQ <'s|:*$||'>)}
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [17277 17300]
                                      )
                                    }
                                  spids: [17276]
                                )
                              ]
                              spids: [17276]
                            )
                            (Case
                              to_match: {($ VSub_Name '$build')}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (mingw) (Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lt_sed_strip_trailing_spaces)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ('s/[ ]*') 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar '\\$'>
                                                ) (//)
                                              )
                                            }
                                          spids: [17324]
                                        )
                                      ]
                                      spids: [17324]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_pathlist_tmp2)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (AndOr
                                                        ops: [Op_DPipe]
                                                        children: [
                                                          (Subshell
                                                            child: 
                                                              (Pipeline
                                                                children: [
                                                                  (C {(cmd)} {(//c)} {(echo)} 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$func_to_host_pathlist_tmp1'
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name '$SED')} {(-e)} 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$lt_sed_strip_trailing_spaces'
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                ]
                                                                negated: F
                                                              )
                                                            redirects: [
                                                              (Redir
                                                                op: <Redir_Great '2>'>
                                                                fd: 2
                                                                arg_word: {(/dev/null)}
                                                              )
                                                            ]
                                                            spids: [17334 17357]
                                                          )
                                                          (C {(echo)} {(DQ )})
                                                        ]
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [17333 17368]
                                              )
                                            }
                                          spids: [17332]
                                        )
                                      ]
                                      spids: [17332]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_pathlist_result)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(echo)} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
'$func_to_host_pathlist_tmp2'
                                                                )
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name '$SED')} {(-e)} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
'$lt_sed_naive_backslashify'
                                                                )
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [17372 17389]
                                              )
                                            }
                                          spids: [17371]
                                        )
                                      ]
                                      spids: [17371]
                                    )
                                  ]
                                  spids: [17310 17314 17392 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (cygwin) (Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_pathlist_tmp2)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (C {(cygpath)} {(-w)} {(-p)} 
                                                        {
                                                          (DQ 
                                                            ($ VSub_Name 
'$func_to_host_pathlist_tmp1'
                                                            )
                                                          )
                                                        }
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [17403 17413]
                                              )
                                            }
                                          spids: [17402]
                                        )
                                      ]
                                      spids: [17402]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_pathlist_result)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(echo)} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
'$func_to_host_pathlist_tmp2'
                                                                )
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name '$SED')} {(-e)} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
'$lt_sed_naive_backslashify'
                                                                )
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [17417 17434]
                                              )
                                            }
                                          spids: [17416]
                                        )
                                      ]
                                      spids: [17416]
                                    )
                                  ]
                                  spids: [17395 17399 17437 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_pathlist_result)
                                          op: Equal
                                          rhs: {(DQ )}
                                          spids: [17449]
                                        )
                                      ]
                                      spids: [17449]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_pathlist_oldIFS)
                                          op: Equal
                                          rhs: {($ VSub_Name '$IFS')}
                                          spids: [17454]
                                        )
                                      ]
                                      spids: [17454]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(Lit_Other ':')}
                                          spids: [17458]
                                        )
                                      ]
                                      spids: [17458]
                                    )
                                    (ForEach
                                      iter_name: func_to_host_pathlist_f
                                      iter_words: [{($ VSub_Name '$func_to_host_pathlist_tmp1')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$func_to_host_pathlist_oldIFS')}
                                                  spids: [17475]
                                                )
                                              ]
                                              spids: [17475]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name '$func_to_host_pathlist_f')
                                                            )
                                                          }
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_to_host_path)} 
                                                      {(DQ ($ VSub_Name '$func_to_host_pathlist_f'))}
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(-n)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$func_to_host_path_result'
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-z)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
'$func_to_host_pathlist_result'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: 
func_to_host_pathlist_result
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name 
'$func_to_host_path_result'
                                                                                )
                                                                              )
                                                                            }
                                                                          spids: [17531]
                                                                        )
                                                                      ]
                                                                      spids: [17531]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 17528]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: 
                                                                        (LhsName
                                                                          name: 
func_to_host_pathlist_result
                                                                        )
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (DQ 
                                                                            ($ VSub_Name 
'$func_to_host_pathlist_result'
                                                                            ) (';') ($ VSub_Name '$func_to_host_path_result')
                                                                          )
                                                                        }
                                                                      spids: [17540]
                                                                    )
                                                                  ]
                                                                  spids: [17540]
                                                                )
                                                              ]
                                                              spids: [17537 17548]
                                                            )
                                                          ]
                                                          spids: [16777215 17513]
                                                        )
                                                      ]
                                                      spids: [16777215 17551]
                                                    )
                                                  ]
                                                  spids: [16777215 17491]
                                                )
                                              ]
                                              spids: [16777215 17554]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {(Lit_Other ':')}
                                                  spids: [17557]
                                                )
                                              ]
                                              spids: [17557]
                                            )
                                          ]
                                          spids: [17472 17561]
                                        )
                                      spids: [17467 17470]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_to_host_pathlist_oldIFS')}
                                          spids: [17564]
                                        )
                                      ]
                                      spids: [17564]
                                    )
                                  ]
                                  spids: [17440 17442 17568 16777215]
                                )
                              ]
                              spids: [17303 17307 17571]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-z)} 
                                          {(DQ ($ VSub_Name '$func_to_host_pathlist_result'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_error)} 
                                      {
                                        (DQ ('Could not determine the host path(s) corresponding to'))
                                      }
                                    )
                                    (C {(func_error)} {(DQ ("  '") ($ VSub_Number '$1') ("'"))})
                                    (C {(func_error)} 
                                      {
                                        (DQ ('Continuing, but uninstalled executables may not work.'))
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lt_replace_pathsep_nix_to_dos)
                                          op: Equal
                                          rhs: {(DQ ('s|:|;|g'))}
                                          spids: [17632]
                                        )
                                      ]
                                      spids: [17632]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_pathlist_result)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(echo)} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
'$func_to_host_pathlist_tmp1'
                                                                )
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name '$SED')} {(-e)} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
'$lt_replace_pathsep_nix_to_dos'
                                                                )
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [17639 17656]
                                              )
                                            }
                                          spids: [17638]
                                        )
                                      ]
                                      spids: [17638]
                                    )
                                  ]
                                  spids: [16777215 17586]
                                )
                              ]
                              spids: [16777215 17659]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Number '$1'))}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other ':') (Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_pathlist_result)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ (';') ($ VSub_Name '$func_to_host_pathlist_result'))
                                            }
                                          spids: [17680]
                                        )
                                      ]
                                      spids: [17680]
                                    )
                                  ]
                                  spids: [17675 17678 17687 16777215]
                                )
                              ]
                              spids: [17666 17672 17690]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Number '$1'))}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (Lit_Other ':')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_pathlist_result)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$func_to_host_pathlist_result') (';'))
                                            }
                                          spids: [17707]
                                        )
                                      ]
                                      spids: [17707]
                                    )
                                  ]
                                  spids: [17702 17705 17714 16777215]
                                )
                              ]
                              spids: [17693 17699 17717]
                            )
                          ]
                          spids: [17237 17241 17720 16777215]
                        )
                      ]
                      spids: [17230 17234 17723]
                    )
                  ]
                  spids: [16777215 17227]
                )
              ]
              spids: [16777215 17726]
            )
          ]
          spids: [17206]
        )
      spids: [17201 17205]
    )
    (FuncDef
      name: func_emit_cwrapperexe_src
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(EOF)}
                  here_end_span_id: 17799
                  stdin_parts: [
                    ('\n')
                    ('/* ')
                    ($ VSub_Name '$cwrappersource')
                    (' - temporary wrapper executable for ')
                    ($ VSub_Name '$objdir')
                    (/)
                    ($ VSub_Name '$outputname')
                    ('\n')
                    ('   Generated by ')
                    ($ VSub_Name '$PROGRAM')
                    (' (GNU ')
                    ($ VSub_Name '$PACKAGE')
                    ($ VSub_Name '$TIMESTAMP')
                    (') ')
                    ($ VSub_Name '$VERSION')
                    ('\n')
                    ('\n')
                    ('   The ')
                    ($ VSub_Name '$output')
                    (' program cannot be directly executed until all the libtool\n')
                    ('   libraries that it depends on are installed.\n')
                    ('\n')
                    (
'   This wrapper executable should never be moved out of the build directory.\n'
                    )
                    ('   If it is, it will not operate correctly.\n')
                    ('\n')
                    ('   Currently, it simply execs the wrapper *script* ')
                    (Right_DoubleQuote '"')
                    ($ VSub_Name '$SHELL')
                    (' ')
                    ($ VSub_Name '$output')
                    (Right_DoubleQuote '"')
                    (',\n')
                    ('   but could eventually absorb all of the scripts functionality and\n')
                    ('   exec ')
                    ($ VSub_Name '$objdir')
                    (/)
                    ($ VSub_Name '$outputname')
                    (' directly.\n')
                    ('*/\n')
                  ]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(DQ (EOF))}
                  here_end_span_id: 17942
                  stdin_parts: [
                    ('#include <stdio.h>\n')
                    ('#include <stdlib.h>\n')
                    ('#ifdef _MSC_VER\n')
                    ('# include <direct.h>\n')
                    ('# include <process.h>\n')
                    ('# include <io.h>\n')
                    ('# define setmode _setmode\n')
                    ('#else\n')
                    ('# include <unistd.h>\n')
                    ('# include <stdint.h>\n')
                    ('# ifdef __CYGWIN__\n')
                    ('#  include <io.h>\n')
                    ('#  define HAVE_SETENV\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')
                    ('# 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')
                    ('#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')
                    ('#ifdef _MSC_VER\n')
                    ('# define S_IXUSR _S_IEXEC\n')
                    ('# define stat _stat\n')
                    ('# ifndef _INTPTR_T_DEFINED\n')
                    ('#  define intptr_t int\n')
                    ('# endif\n')
                    ('#endif\n')
                    ('\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')
                    ('#ifdef __CYGWIN__\n')
                    ('# define FOPEN_WB "wb"\n')
                    ('#endif\n')
                    ('\n')
                    ('#ifndef FOPEN_WB\n')
                    ('# define FOPEN_WB "w"\n')
                    ('#endif\n')
                    ('#ifndef _O_BINARY\n')
                    ('# define _O_BINARY 0\n')
                    ('#endif\n')
                    ('\n')
                    ('#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))\n')
                    ('#define XFREE(stale) do { \\\n')
                    ('  if (stale) { free ((void *) stale); stale = 0; } \\\n')
                    ('} while (0)\n')
                    ('\n')
                    ('#undef LTWRAPPER_DEBUGPRINTF\n')
                    ('#if defined DEBUGWRAPPER\n')
                    ('# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args\n')
                    ('static void\n')
                    ('ltwrapper_debugprintf (const char *fmt, ...)\n')
                    ('{\n')
                    ('    va_list args;\n')
                    ('    va_start (args, fmt);\n')
                    ('    (void) vfprintf (stderr, fmt, args);\n')
                    ('    va_end (args);\n')
                    ('}\n')
                    ('#else\n')
                    ('# define LTWRAPPER_DEBUGPRINTF(args)\n')
                    ('#endif\n')
                    ('\n')
                    ('const char *program_name = NULL;\n')
                    ('\n')
                    ('void *xmalloc (size_t num);\n')
                    ('char *xstrdup (const char *string);\n')
                    ('const char *base_name (const char *name);\n')
                    ('char *find_executable (const char *wrapper);\n')
                    ('char *chase_symlinks (const char *pathspec);\n')
                    ('int make_executable (const char *path);\n')
                    ('int check_executable (const char *path);\n')
                    ('char *strendzap (char *str, const char *pat);\n')
                    ('void lt_fatal (const char *message, ...);\n')
                    ('void lt_setenv (const char *name, const char *value);\n')
                    (
'char *lt_extend_str (const char *orig_value, const char *add, int to_end);\n'
                    )
                    ('void lt_opt_process_env_set (const char *arg);\n')
                    ('void lt_opt_process_env_prepend (const char *arg);\n')
                    ('void lt_opt_process_env_append (const char *arg);\n')
                    ('int lt_split_name_value (const char *arg, char** name, char** value);\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')
                    ('\n')
                    ('static const char *script_text_part1 =\n')
                  ]
                )
              ]
            )
            (Pipeline
              children: [
                (C {(func_emit_wrapper_part1)} {(yes)})
                (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'s/\\([\\\\"]\\)/\\\\\\1/g'>)} {(-e)} 
                  {(SQ <'s/^/  "/'>)} {(-e)} {(SQ <'s/$/\\\\n"/'>)}
                )
              ]
              negated: F
            )
            (C {(echo)} {(DQ (';'))})
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(EOF)}
                  here_end_span_id: 17990
                  stdin_parts: [('\n') ('static const char *script_text_part2 =\n')]
                )
              ]
            )
            (Pipeline
              children: [
                (C {(func_emit_wrapper_part2)} {(yes)})
                (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'s/\\([\\\\"]\\)/\\\\\\1/g'>)} {(-e)} 
                  {(SQ <'s/^/  "/'>)} {(-e)} {(SQ <'s/$/\\\\n"/'>)}
                )
              ]
              negated: F
            )
            (C {(echo)} {(DQ (';'))})
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(EOF)}
                  here_end_span_id: 18046
                  stdin_parts: [
                    ('const char * MAGIC_EXE = ')
                    (Right_DoubleQuote '"')
                    ($ VSub_Name '$magic_exe')
                    (Right_DoubleQuote '"')
                    (';\n')
                    ('const char * LIB_PATH_VARNAME = ')
                    (Right_DoubleQuote '"')
                    ($ VSub_Name '$shlibpath_var')
                    (Right_DoubleQuote '"')
                    (';\n')
                  ]
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp Op_DAmp]
                          children: [
                            (C {(test)} {(DQ ($ VSub_Name '$shlibpath_overrides_runpath'))} 
                              {(Lit_Other '=')} {(yes)}
                            )
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$shlibpath_var'))})
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$temp_rpath'))})
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_to_host_pathlist)} {(DQ ($ VSub_Name '$temp_rpath'))})
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op: <Redir_DLess '<<'>
                          fd: 16777215
                          here_begin: {(EOF)}
                          here_end_span_id: 18103
                          stdin_parts: [
                            ('const char * LIB_PATH_VALUE   = ')
                            (Right_DoubleQuote '"')
                            ($ VSub_Name '$func_to_host_pathlist_result')
                            (Right_DoubleQuote '"')
                            (';\n')
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 18082]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op: <Redir_DLess '<<'>
                      fd: 16777215
                      here_begin: {(DQ (EOF))}
                      here_end_span_id: 18116
                      stdin_parts: [('const char * LIB_PATH_VALUE   = "";\n')]
                    )
                  ]
                )
              ]
              spids: [18105 18118]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dllsearchpath'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_to_host_pathlist)} {(DQ ($ VSub_Name '$dllsearchpath') (':'))})
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op: <Redir_DLess '<<'>
                          fd: 16777215
                          here_begin: {(EOF)}
                          here_end_span_id: 18160
                          stdin_parts: [
                            ('const char * EXE_PATH_VARNAME = ')
                            (Right_DoubleQuote '"')
                            (PATH)
                            (Right_DoubleQuote '"')
                            (';\n')
                            ('const char * EXE_PATH_VALUE   = ')
                            (Right_DoubleQuote '"')
                            ($ VSub_Name '$func_to_host_pathlist_result')
                            (Right_DoubleQuote '"')
                            (';\n')
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 18133]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op: <Redir_DLess '<<'>
                      fd: 16777215
                      here_begin: {(DQ (EOF))}
                      here_end_span_id: 18174
                      stdin_parts: [
                        ('const char * EXE_PATH_VARNAME = "";\n')
                        ('const char * EXE_PATH_VALUE   = "";\n')
                      ]
                    )
                  ]
                )
              ]
              spids: [18162 18176]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$fast_install'))} {(Lit_Other '=')} {(yes)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op: <Redir_DLess '<<'>
                          fd: 16777215
                          here_begin: {(EOF)}
                          here_end_span_id: 18208
                          stdin_parts: [
                            ('const char * TARGET_PROGRAM_NAME = ')
                            (Right_DoubleQuote '"')
                            (lt-)
                            ($ VSub_Name '$outputname')
                            (Right_DoubleQuote '"')
                            ('; /* hopefully, no .exe */\n')
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 18193]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op: <Redir_DLess '<<'>
                      fd: 16777215
                      here_begin: {(EOF)}
                      here_end_span_id: 18224
                      stdin_parts: [
                        ('const char * TARGET_PROGRAM_NAME = ')
                        (Right_DoubleQuote '"')
                        ($ VSub_Name '$outputname')
                        (Right_DoubleQuote '"')
                        ('; /* hopefully, no .exe */\n')
                      ]
                    )
                  ]
                )
              ]
              spids: [18210 18226]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(DQ (EOF))}
                  here_end_span_id: 18282
                  stdin_parts: [
                    ('\n')
                    ('#define LTWRAPPER_OPTION_PREFIX         "--lt-"\n')
                    ('#define LTWRAPPER_OPTION_PREFIX_LENGTH  5\n')
                    ('\n')
                    (
'static const size_t opt_prefix_len         = LTWRAPPER_OPTION_PREFIX_LENGTH;\n'
                    )
                    ('static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;\n')
                    ('\n')
                    (
'static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";\n'
                    )
                    ('\n')
                    (
'static const size_t env_set_opt_len     = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;\n'
                    )
                    (
'static const char *env_set_opt          = LTWRAPPER_OPTION_PREFIX "env-set";\n'
                    )
                    ('  /* argument is putenv-style "foo=bar", value of foo is set to bar */\n')
                    ('\n')
                    (
'static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;\n'
                    )
                    (
'static const char *env_prepend_opt      = LTWRAPPER_OPTION_PREFIX "env-prepend";\n'
                    )
                    ('  /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */\n')
                    ('\n')
                    (
'static const size_t env_append_opt_len  = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;\n'
                    )
                    (
'static const char *env_append_opt       = LTWRAPPER_OPTION_PREFIX "env-append";\n'
                    )
                    ('  /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */\n')
                    ('\n')
                    ('int\n')
                    ('main (int argc, char *argv[])\n')
                    ('{\n')
                    ('  char **newargz;\n')
                    ('  int  newargc;\n')
                    ('  char *tmp_pathspec;\n')
                    ('  char *actual_cwrapper_path;\n')
                    ('  char *actual_cwrapper_name;\n')
                    ('  char *target_name;\n')
                    ('  char *lt_argv_zero;\n')
                    ('  intptr_t rval = 127;\n')
                    ('\n')
                    ('  int i;\n')
                    ('\n')
                    ('  program_name = (char *) xstrdup (base_name (argv[0]));\n')
                    ('  LTWRAPPER_DEBUGPRINTF (("(main) argv[0]      : %s\\n", argv[0]));\n')
                    ('  LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\\n", program_name));\n')
                    ('\n')
                    ("  /* very simple arg parsing; don't want to rely on getopt */\n")
                    ('  for (i = 1; i < argc; i++)\n')
                    ('    {\n')
                    ('      if (strcmp (argv[i], dumpscript_opt) == 0)\n')
                    ('\t{\n')
                  ]
                )
              ]
            )
            (Case
              to_match: {(DQ ($ VSub_Name '$host'))}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (mingw) (Lit_Other '*')}
                    {(Lit_Other '*') (cygwin) (Lit_Other '*')}
                  ]
                  action: [(C {(echo)} {(DQ ('          setmode(1,_O_BINARY);'))})]
                  spids: [18293 18303 18317 16777215]
                )
              ]
              spids: [18284 18290 18320]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(DQ (EOF))}
                  here_end_span_id: 18369
                  stdin_parts: [
                    ('\t  printf ("%s", script_text_part1);\n')
                    ('\t  printf ("%s", script_text_part2);\n')
                    ('\t  return 0;\n')
                    ('\t}\n')
                    ('    }\n')
                    ('\n')
                    ('  newargz = XMALLOC (char *, argc + 1);\n')
                    ('  tmp_pathspec = find_executable (argv[0]);\n')
                    ('  if (tmp_pathspec == NULL)\n')
                    ('    lt_fatal ("Couldn\'t find %s", argv[0]);\n')
                    (
'  LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\\n",\n'
                    )
                    ('\t\t\t  tmp_pathspec));\n')
                    ('\n')
                    ('  actual_cwrapper_path = chase_symlinks (tmp_pathspec);\n')
                    (
'  LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\\n",\n'
                    )
                    ('\t\t\t  actual_cwrapper_path));\n')
                    ('  XFREE (tmp_pathspec);\n')
                    ('\n')
                    ('  actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));\n')
                    ('  strendzap (actual_cwrapper_path, actual_cwrapper_name);\n')
                    ('\n')
                    ('  /* wrapper name transforms */\n')
                    ('  strendzap (actual_cwrapper_name, ".exe");\n')
                    ('  tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);\n')
                    ('  XFREE (actual_cwrapper_name);\n')
                    ('  actual_cwrapper_name = tmp_pathspec;\n')
                    ('  tmp_pathspec = 0;\n')
                    ('\n')
                    (
'  /* target_name transforms -- use actual target program name; might have lt- prefix */\n'
                    )
                    ('  target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));\n')
                    ('  strendzap (target_name, ".exe");\n')
                    ('  tmp_pathspec = lt_extend_str (target_name, ".exe", 1);\n')
                    ('  XFREE (target_name);\n')
                    ('  target_name = tmp_pathspec;\n')
                    ('  tmp_pathspec = 0;\n')
                    ('\n')
                    ('  LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\\n",\n')
                    ('\t\t\t  target_name));\n')
                  ]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(EOF)}
                  here_end_span_id: 18396
                  stdin_parts: [
                    ('  newargz[0] =\n')
                    ('    XMALLOC (char, (strlen (actual_cwrapper_path) +\n')
                    ('\t\t    strlen (')
                    (Right_DoubleQuote '"')
                    ($ VSub_Name '$objdir')
                    (Right_DoubleQuote '"')
                    (') + 1 + strlen (actual_cwrapper_name) + 1));\n')
                    ('  strcpy (newargz[0], actual_cwrapper_path);\n')
                    ('  strcat (newargz[0], ')
                    (Right_DoubleQuote '"')
                    ($ VSub_Name '$objdir')
                    (Right_DoubleQuote '"')
                    (');\n')
                    ('  strcat (newargz[0], ')
                    (Right_DoubleQuote '"')
                    (/)
                    (Right_DoubleQuote '"')
                    (');\n')
                  ]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(DQ (EOF))}
                  here_end_span_id: 18416
                  stdin_parts: [
                    ("  /* stop here, and copy so we don't have to do this twice */\n")
                    ('  tmp_pathspec = xstrdup (newargz[0]);\n')
                    ('\n')
                    ('  /* do NOT want the lt- prefix here, so use actual_cwrapper_name */\n')
                    ('  strcat (newargz[0], actual_cwrapper_name);\n')
                    ('\n')
                    ('  /* DO want the lt- prefix here if it exists, so use target_name */\n')
                    ('  lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);\n')
                    ('  XFREE (tmp_pathspec);\n')
                    ('  tmp_pathspec = NULL;\n')
                  ]
                )
              ]
            )
            (Case
              to_match: {($ VSub_Name '$host_os')}
              arms: [
                (case_arm
                  pat_list: [{(mingw) (Lit_Other '*')}]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op: <Redir_DLess '<<'>
                          fd: 16777215
                          here_begin: {(DQ (EOF))}
                          here_end_span_id: 18449
                          stdin_parts: [
                            ('  {\n')
                            ('    char* p;\n')
                            ("    while ((p = strchr (newargz[0], '\\\\')) != NULL)\n")
                            ('      {\n')
                            ("\t*p = '/';\n")
                            ('      }\n')
                            ("    while ((p = strchr (lt_argv_zero, '\\\\')) != NULL)\n")
                            ('      {\n')
                            ("\t*p = '/';\n")
                            ('      }\n')
                            ('  }\n')
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [18426 18428 18451 16777215]
                )
              ]
              spids: [18419 18423 18454]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(DQ (EOF))}
                  here_end_span_id: 18547
                  stdin_parts: [
                    ('  XFREE (target_name);\n')
                    ('  XFREE (actual_cwrapper_path);\n')
                    ('  XFREE (actual_cwrapper_name);\n')
                    ('\n')
                    ('  lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */\n')
                    ('  lt_setenv ("DUALCASE", "1");  /* for MSK sh */\n')
                    ('  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);\n')
                    ('  lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);\n')
                    ('\n')
                    ('  newargc=0;\n')
                    ('  for (i = 1; i < argc; i++)\n')
                    ('    {\n')
                    ('      if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)\n')
                    ('        {\n')
                    ("          if (argv[i][env_set_opt_len] == '=')\n")
                    ('            {\n')
                    ('              const char *p = argv[i] + env_set_opt_len + 1;\n')
                    ('              lt_opt_process_env_set (p);\n')
                    ('            }\n')
                    ("          else if (argv[i][env_set_opt_len] == '\\0' && i + 1 < argc)\n")
                    ('            {\n')
                    ("              lt_opt_process_env_set (argv[++i]); /* don't copy */\n")
                    ('            }\n')
                    ('          else\n')
                    ('            lt_fatal ("%s missing required argument", env_set_opt);\n')
                    ('          continue;\n')
                    ('        }\n')
                    ('      if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)\n')
                    ('        {\n')
                    ("          if (argv[i][env_prepend_opt_len] == '=')\n")
                    ('            {\n')
                    ('              const char *p = argv[i] + env_prepend_opt_len + 1;\n')
                    ('              lt_opt_process_env_prepend (p);\n')
                    ('            }\n')
                    ("          else if (argv[i][env_prepend_opt_len] == '\\0' && i + 1 < argc)\n")
                    ('            {\n')
                    ("              lt_opt_process_env_prepend (argv[++i]); /* don't copy */\n")
                    ('            }\n')
                    ('          else\n')
                    ('            lt_fatal ("%s missing required argument", env_prepend_opt);\n')
                    ('          continue;\n')
                    ('        }\n')
                    ('      if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)\n')
                    ('        {\n')
                    ("          if (argv[i][env_append_opt_len] == '=')\n")
                    ('            {\n')
                    ('              const char *p = argv[i] + env_append_opt_len + 1;\n')
                    ('              lt_opt_process_env_append (p);\n')
                    ('            }\n')
                    ("          else if (argv[i][env_append_opt_len] == '\\0' && i + 1 < argc)\n")
                    ('            {\n')
                    ("              lt_opt_process_env_append (argv[++i]); /* don't copy */\n")
                    ('            }\n')
                    ('          else\n')
                    ('            lt_fatal ("%s missing required argument", env_append_opt);\n')
                    ('          continue;\n')
                    ('        }\n')
                    (
'      if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)\n'
                    )
                    ('        {\n')
                    (
'          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX\n'
                    )
                    ('             namespace, but it is not one of the ones we know about and\n')
                    ('             have already dealt with, above (inluding dump-script), then\n')
                    ('             report an error. Otherwise, targets might begin to believe\n')
                    (
'             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX\n'
                    )
                    (
"             namespace. The first time any user complains about this, we'll\n"
                    )
                    ('             need to make LTWRAPPER_OPTION_PREFIX a configure-time option\n')
                    ('             or a configure.ac-settable value.\n')
                    ('           */\n')
                    ('          lt_fatal ("Unrecognized option in %s namespace: \'%s\'",\n')
                    ('                    ltwrapper_option_prefix, argv[i]);\n')
                    ('        }\n')
                    ('      /* otherwise ... */\n')
                    ('      newargz[++newargc] = xstrdup (argv[i]);\n')
                    ('    }\n')
                    ('  newargz[++newargc] = NULL;\n')
                    ('\n')
                    (
'  LTWRAPPER_DEBUGPRINTF     (("(main) lt_argv_zero : %s\\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));\n'
                    )
                    ('  for (i = 0; i < newargc; i++)\n')
                    ('    {\n')
                    (
'      LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d]   : %s\\n", i, (newargz[i] ? newargz[i] : "<NULL>")));\n'
                    )
                    ('    }\n')
                    ('\n')
                  ]
                )
              ]
            )
            (Case
              to_match: {($ VSub_Name '$host_os')}
              arms: [
                (case_arm
                  pat_list: [{(mingw) (Lit_Other '*')}]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op: <Redir_DLess '<<'>
                          fd: 16777215
                          here_begin: {(DQ (EOF))}
                          here_end_span_id: 18578
                          stdin_parts: [
                            ("  /* execv doesn't actually work on mingw as expected on unix */\n")
                            (
'  rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);\n'
                            )
                            ('  if (rval == -1)\n')
                            ('    {\n')
                            ('      /* failed to start process */\n')
                            (
'      LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \\"%s\\": errno = %d\\n", lt_argv_zero, errno));\n'
                            )
                            ('      return 127;\n')
                            ('    }\n')
                            ('  return rval;\n')
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [18557 18559 18580 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op: <Redir_DLess '<<'>
                          fd: 16777215
                          here_begin: {(DQ (EOF))}
                          here_end_span_id: 18596
                          stdin_parts: [
                            ('  execv (lt_argv_zero, newargz);\n')
                            ('  return rval; /* =127, but avoids unused variable warning */\n')
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [18583 18584 18598 16777215]
                )
              ]
              spids: [18550 18554 18601]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(DQ (EOF))}
                  here_end_span_id: 19057
                  stdin_parts: [
                    ('}\n')
                    ('\n')
                    ('void *\n')
                    ('xmalloc (size_t num)\n')
                    ('{\n')
                    ('  void *p = (void *) malloc (num);\n')
                    ('  if (!p)\n')
                    ('    lt_fatal ("Memory exhausted");\n')
                    ('\n')
                    ('  return p;\n')
                    ('}\n')
                    ('\n')
                    ('char *\n')
                    ('xstrdup (const char *string)\n')
                    ('{\n')
                    ('  return string ? strcpy ((char *) xmalloc (strlen (string) + 1),\n')
                    ('\t\t\t  string) : NULL;\n')
                    ('}\n')
                    ('\n')
                    ('const char *\n')
                    ('base_name (const char *name)\n')
                    ('{\n')
                    ('  const char *base;\n')
                    ('\n')
                    ('#if defined (HAVE_DOS_BASED_FILE_SYSTEM)\n')
                    ('  /* Skip over the disk name in MSDOS pathnames. */\n')
                    ("  if (isalpha ((unsigned char) name[0]) && name[1] == ':')\n")
                    ('    name += 2;\n')
                    ('#endif\n')
                    ('\n')
                    ('  for (base = name; *name; name++)\n')
                    ('    if (IS_DIR_SEPARATOR (*name))\n')
                    ('      base = name + 1;\n')
                    ('  return base;\n')
                    ('}\n')
                    ('\n')
                    ('int\n')
                    ('check_executable (const char *path)\n')
                    ('{\n')
                    ('  struct stat st;\n')
                    ('\n')
                    ('  LTWRAPPER_DEBUGPRINTF (("(check_executable)  : %s\\n",\n')
                    ('\t\t\t  path ? (*path ? path : "EMPTY!") : "NULL!"));\n')
                    ('  if ((!path) || (!*path))\n')
                    ('    return 0;\n')
                    ('\n')
                    ('  if ((stat (path, &st) >= 0)\n')
                    ('      && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))\n')
                    ('    return 1;\n')
                    ('  else\n')
                    ('    return 0;\n')
                    ('}\n')
                    ('\n')
                    ('int\n')
                    ('make_executable (const char *path)\n')
                    ('{\n')
                    ('  int rval = 0;\n')
                    ('  struct stat st;\n')
                    ('\n')
                    ('  LTWRAPPER_DEBUGPRINTF (("(make_executable)   : %s\\n",\n')
                    ('\t\t\t  path ? (*path ? path : "EMPTY!") : "NULL!"));\n')
                    ('  if ((!path) || (!*path))\n')
                    ('    return 0;\n')
                    ('\n')
                    ('  if (stat (path, &st) >= 0)\n')
                    ('    {\n')
                    ('      rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);\n')
                    ('    }\n')
                    ('  return rval;\n')
                    ('}\n')
                    ('\n')
                    ('/* Searches for the full path of the wrapper.  Returns\n')
                    ('   newly allocated full path name if found, NULL otherwise\n')
                    ('   Does not chase symlinks, even on platforms that support them.\n')
                    ('*/\n')
                    ('char *\n')
                    ('find_executable (const char *wrapper)\n')
                    ('{\n')
                    ('  int has_slash = 0;\n')
                    ('  const char *p;\n')
                    ('  const char *p_next;\n')
                    ('  /* static buffer for getcwd */\n')
                    ('  char tmp[LT_PATHMAX + 1];\n')
                    ('  int tmp_len;\n')
                    ('  char *concat_name;\n')
                    ('\n')
                    ('  LTWRAPPER_DEBUGPRINTF (("(find_executable)   : %s\\n",\n')
                    ('\t\t\t  wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));\n')
                    ('\n')
                    ("  if ((wrapper == NULL) || (*wrapper == '\\0'))\n")
                    ('    return NULL;\n')
                    ('\n')
                    ('  /* Absolute path? */\n')
                    ('#if defined (HAVE_DOS_BASED_FILE_SYSTEM)\n')
                    ("  if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')\n")
                    ('    {\n')
                    ('      concat_name = xstrdup (wrapper);\n')
                    ('      if (check_executable (concat_name))\n')
                    ('\treturn concat_name;\n')
                    ('      XFREE (concat_name);\n')
                    ('    }\n')
                    ('  else\n')
                    ('    {\n')
                    ('#endif\n')
                    ('      if (IS_DIR_SEPARATOR (wrapper[0]))\n')
                    ('\t{\n')
                    ('\t  concat_name = xstrdup (wrapper);\n')
                    ('\t  if (check_executable (concat_name))\n')
                    ('\t    return concat_name;\n')
                    ('\t  XFREE (concat_name);\n')
                    ('\t}\n')
                    ('#if defined (HAVE_DOS_BASED_FILE_SYSTEM)\n')
                    ('    }\n')
                    ('#endif\n')
                    ('\n')
                    ('  for (p = wrapper; *p; p++)\n')
                    ("    if (*p == '/')\n")
                    ('      {\n')
                    ('\thas_slash = 1;\n')
                    ('\tbreak;\n')
                    ('      }\n')
                    ('  if (!has_slash)\n')
                    ('    {\n')
                    ('      /* no slashes; search PATH */\n')
                    ('      const char *path = getenv ("PATH");\n')
                    ('      if (path != NULL)\n')
                    ('\t{\n')
                    ('\t  for (p = path; *p; p = p_next)\n')
                    ('\t    {\n')
                    ('\t      const char *q;\n')
                    ('\t      size_t p_len;\n')
                    ('\t      for (q = p; *q; q++)\n')
                    ('\t\tif (IS_PATH_SEPARATOR (*q))\n')
                    ('\t\t  break;\n')
                    ('\t      p_len = q - p;\n')
                    ("\t      p_next = (*q == '\\0' ? q : q + 1);\n")
                    ('\t      if (p_len == 0)\n')
                    ('\t\t{\n')
                    ('\t\t  /* empty path: current directory */\n')
                    ('\t\t  if (getcwd (tmp, LT_PATHMAX) == NULL)\n')
                    ('\t\t    lt_fatal ("getcwd failed");\n')
                    ('\t\t  tmp_len = strlen (tmp);\n')
                    ('\t\t  concat_name =\n')
                    ('\t\t    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);\n')
                    ('\t\t  memcpy (concat_name, tmp, tmp_len);\n')
                    ("\t\t  concat_name[tmp_len] = '/';\n")
                    ('\t\t  strcpy (concat_name + tmp_len + 1, wrapper);\n')
                    ('\t\t}\n')
                    ('\t      else\n')
                    ('\t\t{\n')
                    ('\t\t  concat_name =\n')
                    ('\t\t    XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);\n')
                    ('\t\t  memcpy (concat_name, p, p_len);\n')
                    ("\t\t  concat_name[p_len] = '/';\n")
                    ('\t\t  strcpy (concat_name + p_len + 1, wrapper);\n')
                    ('\t\t}\n')
                    ('\t      if (check_executable (concat_name))\n')
                    ('\t\treturn concat_name;\n')
                    ('\t      XFREE (concat_name);\n')
                    ('\t    }\n')
                    ('\t}\n')
                    ('      /* not found in PATH; assume curdir */\n')
                    ('    }\n')
                    ('  /* Relative path | not found in path: prepend cwd */\n')
                    ('  if (getcwd (tmp, LT_PATHMAX) == NULL)\n')
                    ('    lt_fatal ("getcwd failed");\n')
                    ('  tmp_len = strlen (tmp);\n')
                    ('  concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);\n')
                    ('  memcpy (concat_name, tmp, tmp_len);\n')
                    ("  concat_name[tmp_len] = '/';\n")
                    ('  strcpy (concat_name + tmp_len + 1, wrapper);\n')
                    ('\n')
                    ('  if (check_executable (concat_name))\n')
                    ('    return concat_name;\n')
                    ('  XFREE (concat_name);\n')
                    ('  return NULL;\n')
                    ('}\n')
                    ('\n')
                    ('char *\n')
                    ('chase_symlinks (const char *pathspec)\n')
                    ('{\n')
                    ('#ifndef S_ISLNK\n')
                    ('  return xstrdup (pathspec);\n')
                    ('#else\n')
                    ('  char buf[LT_PATHMAX];\n')
                    ('  struct stat s;\n')
                    ('  char *tmp_pathspec = xstrdup (pathspec);\n')
                    ('  char *p;\n')
                    ('  int has_symlinks = 0;\n')
                    ('  while (strlen (tmp_pathspec) && !has_symlinks)\n')
                    ('    {\n')
                    (
'      LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\\n",\n'
                    )
                    ('\t\t\t      tmp_pathspec));\n')
                    ('      if (lstat (tmp_pathspec, &s) == 0)\n')
                    ('\t{\n')
                    ('\t  if (S_ISLNK (s.st_mode) != 0)\n')
                    ('\t    {\n')
                    ('\t      has_symlinks = 1;\n')
                    ('\t      break;\n')
                    ('\t    }\n')
                    ('\n')
                    ('\t  /* search backwards for last DIR_SEPARATOR */\n')
                    ('\t  p = tmp_pathspec + strlen (tmp_pathspec) - 1;\n')
                    ('\t  while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))\n')
                    ('\t    p--;\n')
                    ('\t  if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))\n')
                    ('\t    {\n')
                    ('\t      /* no more DIR_SEPARATORS left */\n')
                    ('\t      break;\n')
                    ('\t    }\n')
                    ("\t  *p = '\\0';\n")
                    ('\t}\n')
                    ('      else\n')
                    ('\t{\n')
                    ('\t  char *errstr = strerror (errno);\n')
                    ('\t  lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);\n')
                    ('\t}\n')
                    ('    }\n')
                    ('  XFREE (tmp_pathspec);\n')
                    ('\n')
                    ('  if (!has_symlinks)\n')
                    ('    {\n')
                    ('      return xstrdup (pathspec);\n')
                    ('    }\n')
                    ('\n')
                    ('  tmp_pathspec = realpath (pathspec, buf);\n')
                    ('  if (tmp_pathspec == 0)\n')
                    ('    {\n')
                    ('      lt_fatal ("Could not follow symlinks for %s", pathspec);\n')
                    ('    }\n')
                    ('  return xstrdup (tmp_pathspec);\n')
                    ('#endif\n')
                    ('}\n')
                    ('\n')
                    ('char *\n')
                    ('strendzap (char *str, const char *pat)\n')
                    ('{\n')
                    ('  size_t len, patlen;\n')
                    ('\n')
                    ('  assert (str != NULL);\n')
                    ('  assert (pat != NULL);\n')
                    ('\n')
                    ('  len = strlen (str);\n')
                    ('  patlen = strlen (pat);\n')
                    ('\n')
                    ('  if (patlen <= len)\n')
                    ('    {\n')
                    ('      str += len - patlen;\n')
                    ('      if (strcmp (str, pat) == 0)\n')
                    ("\t*str = '\\0';\n")
                    ('    }\n')
                    ('  return str;\n')
                    ('}\n')
                    ('\n')
                    ('static void\n')
                    ('lt_error_core (int exit_status, const char *mode,\n')
                    ('\t       const char *message, va_list ap)\n')
                    ('{\n')
                    ('  fprintf (stderr, "%s: %s: ", program_name, mode);\n')
                    ('  vfprintf (stderr, message, ap);\n')
                    ('  fprintf (stderr, ".\\n");\n')
                    ('\n')
                    ('  if (exit_status >= 0)\n')
                    ('    exit (exit_status);\n')
                    ('}\n')
                    ('\n')
                    ('void\n')
                    ('lt_fatal (const char *message, ...)\n')
                    ('{\n')
                    ('  va_list ap;\n')
                    ('  va_start (ap, message);\n')
                    ('  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);\n')
                    ('  va_end (ap);\n')
                    ('}\n')
                    ('\n')
                    ('void\n')
                    ('lt_setenv (const char *name, const char *value)\n')
                    ('{\n')
                    ('  LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting \'%s\' to \'%s\'\\n",\n')
                    ('                          (name ? name : "<NULL>"),\n')
                    ('                          (value ? value : "<NULL>")));\n')
                    ('  {\n')
                    ('#ifdef HAVE_SETENV\n')
                    ('    /* always make a copy, for consistency with !HAVE_SETENV */\n')
                    ('    char *str = xstrdup (value);\n')
                    ('    setenv (name, str, 1);\n')
                    ('#else\n')
                    ('    int len = strlen (name) + 1 + strlen (value) + 1;\n')
                    ('    char *str = XMALLOC (char, len);\n')
                    ('    sprintf (str, "%s=%s", name, value);\n')
                    ('    if (putenv (str) != EXIT_SUCCESS)\n')
                    ('      {\n')
                    ('        XFREE (str);\n')
                    ('      }\n')
                    ('#endif\n')
                    ('  }\n')
                    ('}\n')
                    ('\n')
                    ('char *\n')
                    ('lt_extend_str (const char *orig_value, const char *add, int to_end)\n')
                    ('{\n')
                    ('  char *new_value;\n')
                    ('  if (orig_value && *orig_value)\n')
                    ('    {\n')
                    ('      int orig_value_len = strlen (orig_value);\n')
                    ('      int add_len = strlen (add);\n')
                    ('      new_value = XMALLOC (char, add_len + orig_value_len + 1);\n')
                    ('      if (to_end)\n')
                    ('        {\n')
                    ('          strcpy (new_value, orig_value);\n')
                    ('          strcpy (new_value + orig_value_len, add);\n')
                    ('        }\n')
                    ('      else\n')
                    ('        {\n')
                    ('          strcpy (new_value, add);\n')
                    ('          strcpy (new_value + add_len, orig_value);\n')
                    ('        }\n')
                    ('    }\n')
                    ('  else\n')
                    ('    {\n')
                    ('      new_value = xstrdup (add);\n')
                    ('    }\n')
                    ('  return new_value;\n')
                    ('}\n')
                    ('\n')
                    ('int\n')
                    ('lt_split_name_value (const char *arg, char** name, char** value)\n')
                    ('{\n')
                    ('  const char *p;\n')
                    ('  int len;\n')
                    ('  if (!arg || !*arg)\n')
                    ('    return 1;\n')
                    ('\n')
                    ("  p = strchr (arg, (int)'=');\n")
                    ('\n')
                    ('  if (!p)\n')
                    ('    return 1;\n')
                    ('\n')
                    ('  *value = xstrdup (++p);\n')
                    ('\n')
                    ('  len = strlen (arg) - strlen (*value);\n')
                    ('  *name = XMALLOC (char, len);\n')
                    ('  strncpy (*name, arg, len-1);\n')
                    ("  (*name)[len - 1] = '\\0';\n")
                    ('\n')
                    ('  return 0;\n')
                    ('}\n')
                    ('\n')
                    ('void\n')
                    ('lt_opt_process_env_set (const char *arg)\n')
                    ('{\n')
                    ('  char *name = NULL;\n')
                    ('  char *value = NULL;\n')
                    ('\n')
                    ('  if (lt_split_name_value (arg, &name, &value) != 0)\n')
                    ('    {\n')
                    ('      XFREE (name);\n')
                    ('      XFREE (value);\n')
                    ('      lt_fatal ("bad argument for %s: \'%s\'", env_set_opt, arg);\n')
                    ('    }\n')
                    ('\n')
                    ('  lt_setenv (name, value);\n')
                    ('  XFREE (name);\n')
                    ('  XFREE (value);\n')
                    ('}\n')
                    ('\n')
                    ('void\n')
                    ('lt_opt_process_env_prepend (const char *arg)\n')
                    ('{\n')
                    ('  char *name = NULL;\n')
                    ('  char *value = NULL;\n')
                    ('  char *new_value = NULL;\n')
                    ('\n')
                    ('  if (lt_split_name_value (arg, &name, &value) != 0)\n')
                    ('    {\n')
                    ('      XFREE (name);\n')
                    ('      XFREE (value);\n')
                    ('      lt_fatal ("bad argument for %s: \'%s\'", env_prepend_opt, arg);\n')
                    ('    }\n')
                    ('\n')
                    ('  new_value = lt_extend_str (getenv (name), value, 0);\n')
                    ('  lt_setenv (name, new_value);\n')
                    ('  XFREE (new_value);\n')
                    ('  XFREE (name);\n')
                    ('  XFREE (value);\n')
                    ('}\n')
                    ('\n')
                    ('void\n')
                    ('lt_opt_process_env_append (const char *arg)\n')
                    ('{\n')
                    ('  char *name = NULL;\n')
                    ('  char *value = NULL;\n')
                    ('  char *new_value = NULL;\n')
                    ('\n')
                    ('  if (lt_split_name_value (arg, &name, &value) != 0)\n')
                    ('    {\n')
                    ('      XFREE (name);\n')
                    ('      XFREE (value);\n')
                    ('      lt_fatal ("bad argument for %s: \'%s\'", env_append_opt, arg);\n')
                    ('    }\n')
                    ('\n')
                    ('  new_value = lt_extend_str (getenv (name), value, 1);\n')
                    ('  lt_setenv (name, new_value);\n')
                    ('  XFREE (new_value);\n')
                    ('  XFREE (name);\n')
                    ('  XFREE (value);\n')
                    ('}\n')
                    ('\n')
                    ('void\n')
                    ('lt_update_exe_path (const char *name, const char *value)\n')
                    ('{\n')
                    (
'  LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying \'%s\' by prepending \'%s\'\\n",\n'
                    )
                    ('                          (name ? name : "<NULL>"),\n')
                    ('                          (value ? value : "<NULL>")));\n')
                    ('\n')
                    ('  if (name && *name && value && *value)\n')
                    ('    {\n')
                    ('      char *new_value = lt_extend_str (getenv (name), value, 0);\n')
                    ("      /* some systems can't cope with a ':'-terminated path #' */\n")
                    ('      int len = strlen (new_value);\n')
                    (
'      while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))\n'
                    )
                    ('        {\n')
                    ("          new_value[len-1] = '\\0';\n")
                    ('        }\n')
                    ('      lt_setenv (name, new_value);\n')
                    ('      XFREE (new_value);\n')
                    ('    }\n')
                    ('}\n')
                    ('\n')
                    ('void\n')
                    ('lt_update_lib_path (const char *name, const char *value)\n')
                    ('{\n')
                    (
'  LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying \'%s\' by prepending \'%s\'\\n",\n'
                    )
                    ('                          (name ? name : "<NULL>"),\n')
                    ('                          (value ? value : "<NULL>")));\n')
                    ('\n')
                    ('  if (name && *name && value && *value)\n')
                    ('    {\n')
                    ('      char *new_value = lt_extend_str (getenv (name), value, 0);\n')
                    ('      lt_setenv (name, new_value);\n')
                    ('      XFREE (new_value);\n')
                    ('    }\n')
                    ('}\n')
                    ('\n')
                    ('\n')
                  ]
                )
              ]
            )
          ]
          spids: [17751]
        )
      spids: [17746 17750]
    )
    (FuncDef
      name: func_mode_link
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (Case
              to_match: {($ VSub_Name '$host')}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (-) (Lit_Other '*') (-cygwin) (Lit_Other '*')}
                    {(Lit_Other '*') (-) (Lit_Other '*') (-mingw) (Lit_Other '*')}
                    {(Lit_Other '*') (-) (Lit_Other '*') (-pw32) (Lit_Other '*')}
                    {(Lit_Other '*') (-) (Lit_Other '*') (-os2) (Lit_Other '*')}
                    {(Lit_Other '*') (-cegcc) (Lit_Other '*')}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:allow_undefined)
                          op: Equal
                          rhs: {(yes)}
                          spids: [19164]
                        )
                      ]
                      spids: [19164]
                    )
                  ]
                  spids: [19085 19120 19168 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:allow_undefined)
                          op: Equal
                          rhs: {(yes)}
                          spids: [19175]
                        )
                      ]
                      spids: [19175]
                    )
                  ]
                  spids: [19171 19172 19179 16777215]
                )
              ]
              spids: [19078 19082 19182]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_args)
                  op: Equal
                  rhs: {($ VSub_Name '$nonopt')}
                  spids: [19185]
                )
              ]
              spids: [19185]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:base_compile)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$nonopt') (' ') ($ VSub_At '$@'))}
                  spids: [19189]
                )
              ]
              spids: [19189]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_command)
                  op: Equal
                  rhs: {($ VSub_Name '$nonopt')}
                  spids: [19197]
                )
              ]
              spids: [19197]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_command)
                  op: Equal
                  rhs: {($ VSub_Name '$nonopt')}
                  spids: [19201]
                )
              ]
              spids: [19201]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_rpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19206]
                )
              ]
              spids: [19206]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_rpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19209]
                )
              ]
              spids: [19209]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_shlibpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19212]
                )
              ]
              spids: [19212]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_shlibpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19215]
                )
              ]
              spids: [19215]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:convenience)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19218]
                )
              ]
              spids: [19218]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_convenience)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19221]
                )
              ]
              spids: [19221]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:deplibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19224]
                )
              ]
              spids: [19224]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_deplibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19227]
                )
              ]
              spids: [19227]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compiler_flags)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19230]
                )
              ]
              spids: [19230]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:linker_flags)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19233]
                )
              ]
              spids: [19233]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dllsearchpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19236]
                )
              ]
              spids: [19236]
            )
            (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: [19240 19242]
                      )
                    }
                  spids: [19239]
                )
              ]
              spids: [19239]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:inst_prefix_dir)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19245]
                )
              ]
              spids: [19245]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:new_inherited_linker_flags)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19248]
                )
              ]
              spids: [19248]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:avoid_version)
                  op: Equal
                  rhs: {(no)}
                  spids: [19252]
                )
              ]
              spids: [19252]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dlfiles)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19256]
                )
              ]
              spids: [19256]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dlprefiles)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19259]
                )
              ]
              spids: [19259]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dlself) op:Equal rhs:{(no)} spids:[19262])]
              spids: [19262]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_dynamic)
                  op: Equal
                  rhs: {(no)}
                  spids: [19266]
                )
              ]
              spids: [19266]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_symbols)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19270]
                )
              ]
              spids: [19270]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_symbols_regex)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19273]
                )
              ]
              spids: [19273]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:generated)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19276]
                )
              ]
              spids: [19276]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libobjs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19279]
                )
              ]
              spids: [19279]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ltlibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19282]
                )
              ]
              spids: [19282]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:module) op:Equal rhs:{(no)} spids:[19285])]
              spids: [19285]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:no_install) op:Equal rhs:{(no)} spids:[19289])]
              spids: [19289]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:objs) op:Equal rhs:{(EmptyPart)} spids:[19293])]
              spids: [19293]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:non_pic_objects)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19296]
                )
              ]
              spids: [19296]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:precious_files_regex)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19299]
                )
              ]
              spids: [19299]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:prefer_static_libs)
                  op: Equal
                  rhs: {(no)}
                  spids: [19302]
                )
              ]
              spids: [19302]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:preload) op:Equal rhs:{(no)} spids:[19306])]
              spids: [19306]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:prev) op:Equal rhs:{(EmptyPart)} spids:[19310])]
              spids: [19310]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:prevarg)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19313]
                )
              ]
              spids: [19313]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:release)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19316]
                )
              ]
              spids: [19316]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:rpath) op:Equal rhs:{(EmptyPart)} spids:[19319])]
              spids: [19319]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:xrpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19322]
                )
              ]
              spids: [19322]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:perm_rpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19325]
                )
              ]
              spids: [19325]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:temp_rpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19328]
                )
              ]
              spids: [19328]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:thread_safe) op:Equal rhs:{(no)} spids:[19331])]
              spids: [19331]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:vinfo) op:Equal rhs:{(EmptyPart)} spids:[19335])]
              spids: [19335]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:vinfo_number) op:Equal rhs:{(no)} spids:[19338])]
              spids: [19338]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:weak_libs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19342]
                )
              ]
              spids: [19342]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:single_module)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name wl) (-single_module))}
                  spids: [19345]
                )
              ]
              spids: [19345]
            )
            (C {(func_infer_tag)} {($ VSub_Name '$base_compile')})
            (ForEach
              iter_name: arg
              do_arg_iter: T
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$arg')}
                      arms: [
                        (case_arm
                          pat_list: [{(-shared)}]
                          action: [
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                )
                                (C {(func_fatal_configuration)} 
                                  {(DQ ('can not build a shared library'))}
                                )
                              ]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [19405]
                                )
                              ]
                              spids: [19405]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [19379 19380 19412 16777215]
                        )
                        (case_arm
                          pat_list: [{(-all-static)} {(-static)} {(-static-libtool-libs)}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name '$arg')}
                              arms: [
                                (case_arm
                                  pat_list: [{(-all-static)}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} 
                                                      {(DQ ($ VSub_Name '$build_libtool_libs'))} {(Lit_Other '=')} {(yes)}
                                                    )
                                                    (C {(test)} {(-z)} 
                                                      {(DQ ($ VSub_Name '$link_static_flag'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_warning)} 
                                              {
                                                (DQ 
                                                  (
'complete static linking is impossible in this configuration'
                                                  )
                                                )
                                              }
                                            )
                                          ]
                                          spids: [16777215 19461]
                                        )
                                      ]
                                      spids: [16777215 19471]
                                    )
                                    (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: [19488]
                                                )
                                              ]
                                              spids: [19488]
                                            )
                                          ]
                                          spids: [16777215 19485]
                                        )
                                      ]
                                      spids: [16777215 19492]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [19495]
                                        )
                                      ]
                                      spids: [19495]
                                    )
                                  ]
                                  spids: [19434 19435 19499 16777215]
                                )
                                (case_arm
                                  pat_list: [{(-static)}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name '$pic_flag'))})
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$link_static_flag'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlopen_self)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$dlopen_self_static')}
                                                  spids: [19530]
                                                )
                                              ]
                                              spids: [19530]
                                            )
                                          ]
                                          spids: [16777215 19527]
                                        )
                                      ]
                                      spids: [16777215 19534]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(built)}
                                          spids: [19537]
                                        )
                                      ]
                                      spids: [19537]
                                    )
                                  ]
                                  spids: [19502 19503 19541 16777215]
                                )
                                (case_arm
                                  pat_list: [{(-static-libtool-libs)}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name '$pic_flag'))})
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$link_static_flag'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlopen_self)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$dlopen_self_static')}
                                                  spids: [19572]
                                                )
                                              ]
                                              spids: [19572]
                                            )
                                          ]
                                          spids: [16777215 19569]
                                        )
                                      ]
                                      spids: [16777215 19576]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [19579]
                                        )
                                      ]
                                      spids: [19579]
                                    )
                                  ]
                                  spids: [19544 19545 19583 16777215]
                                )
                              ]
                              spids: [19427 19431 19586]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [19589]
                                )
                              ]
                              spids: [19589]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [19593]
                                )
                              ]
                              spids: [19593]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [19415 19424 19600 16777215]
                        )
                      ]
                      spids: [19372 19376 19603]
                    )
                  ]
                  spids: [19369 19606]
                )
              spids: [16777215 16777215]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$old_archive_from_new_cmds'))})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:build_old_libs)
                      op: Equal
                      rhs: {(yes)}
                      spids: [19624]
                    )
                  ]
                  spids: [19624]
                )
              ]
            )
            (WhileUntil
              keyword: <KW_While while>
              cond: [
                (Sentence
                  child: (C {(test)} {(DQ ($ VSub_Pound '$#'))} {(-gt)} {(0)})
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:arg)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$1'))}
                          spids: [19649]
                        )
                      ]
                      spids: [19649]
                    )
                    (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: [19665]
                        )
                      ]
                      spids: [19665]
                    )
                    (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: [19705 19706 19727 16777215]
                                )
                              ]
                              spids: [19698 19702 19730]
                            )
                            (Case
                              to_match: {($ VSub_Name '$prev')}
                              arms: [
                                (case_arm
                                  pat_list: [{(dlfiles)} {(dlprefiles)}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$preload'))} 
                                                  {(Lit_Other '=')} {(no)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_append)} {(compile_command)} {(DQ (' @SYMFILE@'))})
                                            (C {(func_append)} {(finalize_command)} {(DQ (' @SYMFILE@'))})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:preload)
                                                  op: Equal
                                                  rhs: {(yes)}
                                                  spids: [19785]
                                                )
                                              ]
                                              spids: [19785]
                                            )
                                          ]
                                          spids: [16777215 19760]
                                        )
                                      ]
                                      spids: [16777215 19789]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name '$arg')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other '*') (.la)} {(Lit_Other '*') (.lo)}]
                                          spids: [19799 19806 19808 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(force)}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$dlself'))} 
                                                          {(Lit_Other '=')} {(no)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:dlself)
                                                          op: Equal
                                                          rhs: {(needless)}
                                                          spids: [19834]
                                                        )
                                                      ]
                                                      spids: [19834]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:export_dynamic)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [19838]
                                                        )
                                                      ]
                                                      spids: [19838]
                                                    )
                                                  ]
                                                  spids: [16777215 19831]
                                                )
                                              ]
                                              spids: [16777215 19842]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [19845]
                                                )
                                              ]
                                              spids: [19845]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [19814 19815 19851 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(self)}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$prev'))} 
                                                          {(Lit_Other '=')} {(dlprefiles)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:dlself)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [19874]
                                                        )
                                                      ]
                                                      spids: [19874]
                                                    )
                                                  ]
                                                  spids: [16777215 19871]
                                                )
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          ops: [Op_DAmp]
                                                          children: [
                                                            (C {(test)} {(DQ ($ VSub_Name '$prev'))} 
                                                              {(Lit_Other '=')} {(dlfiles)}
                                                            )
                                                            (C {(test)} 
                                                              {(DQ ($ VSub_Name '$dlopen_self'))} {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                                            )
                                                          ]
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:dlself)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [19907]
                                                        )
                                                      ]
                                                      spids: [19907]
                                                    )
                                                  ]
                                                  spids: [19878 19904]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:dlself)
                                                      op: Equal
                                                      rhs: {(needless)}
                                                      spids: [19914]
                                                    )
                                                  ]
                                                  spids: [19914]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:export_dynamic)
                                                      op: Equal
                                                      rhs: {(yes)}
                                                      spids: [19918]
                                                    )
                                                  ]
                                                  spids: [19918]
                                                )
                                              ]
                                              spids: [19911 19922]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [19925]
                                                )
                                              ]
                                              spids: [19925]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [19854 19855 19931 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$prev'))} 
                                                          {(Lit_Other '=')} {(dlfiles)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:dlfiles)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$dlfiles') (' ') 
                                                                ($ VSub_Name '$arg')
                                                              )
                                                            }
                                                          spids: [19954]
                                                        )
                                                      ]
                                                      spids: [19954]
                                                    )
                                                  ]
                                                  spids: [16777215 19951]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:dlprefiles)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$dlprefiles') (' ') 
                                                            ($ VSub_Name '$arg')
                                                          )
                                                        }
                                                      spids: [19965]
                                                    )
                                                  ]
                                                  spids: [19965]
                                                )
                                              ]
                                              spids: [19962 19973]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [19976]
                                                )
                                              ]
                                              spids: [19976]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [19934 19935 19982 16777215]
                                        )
                                      ]
                                      spids: [19792 19796 19985]
                                    )
                                  ]
                                  spids: [19741 19744 19988 16777215]
                                )
                                (case_arm
                                  pat_list: [{(expsyms)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:export_symbols)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$arg'))}
                                          spids: [19995]
                                        )
                                      ]
                                      spids: [19995]
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(test)} {(-f)} {(DQ ($ VSub_Name '$arg'))})
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ('symbol file ') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\`'>
                                              ) ($ VSub_Name '$arg') ("' does not exist")
                                            )
                                          }
                                        )
                                      ]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [20023]
                                        )
                                      ]
                                      spids: [20023]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [19991 19992 20029 16777215]
                                )
                                (case_arm
                                  pat_list: [{(expsyms_regex)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:export_symbols_regex)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$arg'))}
                                          spids: [20036]
                                        )
                                      ]
                                      spids: [20036]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [20042]
                                        )
                                      ]
                                      spids: [20042]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20032 20033 20048 16777215]
                                )
                                (case_arm
                                  pat_list: [{(framework)}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name '$host')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-darwin) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (Case
                                              to_match: {(DQ ($ VSub_Name '$deplibs') (' '))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$qarg') ('.ltframework ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [20080 20087 20089 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplibs') (' ') 
                                                                ($ VSub_Name '$qarg') (.ltframework)
                                                              )
                                                            }
                                                          spids: [20095]
                                                        )
                                                      ]
                                                      spids: [20095]
                                                    )
                                                  ]
                                                  spids: [20092 20093 20107 16777215]
                                                )
                                              ]
                                              spids: [20070 20077 20110]
                                            )
                                          ]
                                          spids: [20062 20067 20113 16777215]
                                        )
                                      ]
                                      spids: [20055 20059 20116]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [20119]
                                        )
                                      ]
                                      spids: [20119]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20051 20052 20125 16777215]
                                )
                                (case_arm
                                  pat_list: [{(inst_prefix)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:inst_prefix_dir)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$arg'))}
                                          spids: [20132]
                                        )
                                      ]
                                      spids: [20132]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [20138]
                                        )
                                      ]
                                      spids: [20138]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20128 20129 20144 16777215]
                                )
                                (case_arm
                                  pat_list: [{(objectlist)}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: (C {(test)} {(-f)} {(DQ ($ VSub_Name '$arg'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:save_arg)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$arg')}
                                                  spids: [20165]
                                                )
                                              ]
                                              spids: [20165]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:moreargs)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [20169]
                                                )
                                              ]
                                              spids: [20169]
                                            )
                                            (ForEach
                                              iter_name: fil
                                              iter_words: [
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (C {(cat)} {(DQ ($ VSub_Name '$save_arg'))})
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [20178 20184]
                                                  )
                                                }
                                              ]
                                              do_arg_iter: F
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:arg)
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$fil')}
                                                          spids: [20193]
                                                        )
                                                      ]
                                                      spids: [20193]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(func_lalib_unsafe_p)} 
                                                                  {(DQ ($ VSub_Name '$arg'))}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:pic_object)
                                                                  op: Equal
                                                                  rhs: {(EmptyPart)}
                                                                  spids: [20218]
                                                                )
                                                              ]
                                                              spids: [20218]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:non_pic_object)
                                                                  op: Equal
                                                                  rhs: {(EmptyPart)}
                                                                  spids: [20221]
                                                                )
                                                              ]
                                                              spids: [20221]
                                                            )
                                                            (C {(func_source)} 
                                                              {(DQ ($ VSub_Name '$arg'))}
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (AndOr
                                                                          ops: [
Op_DPipe
Op_DPipe
Op_DAmp
                                                                          ]
                                                                          children: [
                                                                            (C {(test)} {(-z)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name 
'$pic_object'
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {(test)} {(-z)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name 
'$non_pic_object'
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {(test)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name 
'$pic_object'
                                                                                  )
                                                                                )
                                                                              } {(Lit_Other '=')} {(none)}
                                                                            )
                                                                            (C {(test)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name 
'$non_pic_object'
                                                                                  )
                                                                                )
                                                                              } {(Lit_Other '=')} {(none)}
                                                                            )
                                                                          ]
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (C {(func_fatal_error)} 
                                                                      {
                                                                        (DQ 
                                                                          (
'cannot find name of object for '
                                                                          ) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$arg') ("'")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [16777215 20285]
                                                                )
                                                              ]
                                                              spids: [16777215 20298]
                                                            )
                                                            (C {(func_dirname)} 
                                                              {(DQ ($ VSub_Name '$arg'))} {(DQ (/))} {(DQ )}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:xdir)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$func_dirname_result'
                                                                        )
                                                                      )
                                                                    }
                                                                  spids: [20320]
                                                                )
                                                              ]
                                                              spids: [20320]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
'$pic_object'
                                                                              )
                                                                            )
                                                                          } {(KW_Bang '!') (Lit_Other '=')} {(none)}
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: pic_object
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name '$xdir') ($ VSub_Name '$pic_object')
                                                                              )
                                                                            }
                                                                          spids: [20348]
                                                                        )
                                                                      ]
                                                                      spids: [20348]
                                                                    )
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (Sentence
                                                                              child: 
                                                                                (C {(test)} 
                                                                                  {
                                                                                    (DQ 
                                                                                      ($ VSub_Name 
'$prev'
                                                                                      )
                                                                                    )
                                                                                  } {(Lit_Other '=')} {(dlfiles)}
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ';'>
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (AndOr
                                                                                          ops: [
Op_DAmp
                                                                                          ]
                                                                                          children: [
                                                                                            (C 
                                                                                              {
                                                                                                (
test
                                                                                                )
                                                                                              } {(DQ ($ VSub_Name '$build_libtool_libs'))} {(Lit_Other '=')} {(yes)}
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                (
test
                                                                                                )
                                                                                              } {(DQ ($ VSub_Name '$dlopen_support'))} {(Lit_Other '=')} {(yes)}
                                                                                            )
                                                                                          ]
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
';'
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
dlfiles
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name '$dlfiles'
                                                                                                ) (' ') ($ VSub_Name '$pic_object')
                                                                                              )
                                                                                            }
                                                                                          spids: [
20400
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [20400]
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
prev
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: {(EmptyPart)}
                                                                                          spids: [
20408
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [20408]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Continue continue
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  spids: [
16777215
20397
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              else_action: [
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: prev
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (
dlprefiles
                                                                                          )
                                                                                        }
                                                                                      spids: [20421]
                                                                                    )
                                                                                  ]
                                                                                  spids: [20421]
                                                                                )
                                                                              ]
                                                                              spids: [20414 20425]
                                                                            )
                                                                          ]
                                                                          spids: [16777215 20369]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 20428]
                                                                    )
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (Sentence
                                                                              child: 
                                                                                (C {(test)} 
                                                                                  {
                                                                                    (DQ 
                                                                                      ($ VSub_Name 
'$prev'
                                                                                      )
                                                                                    )
                                                                                  } {(Lit_Other '=')} {(dlprefiles)}
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ';'>
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: 
dlprefiles
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
'$dlprefiles'
                                                                                        ) (' ') ($ VSub_Name '$pic_object')
                                                                                      )
                                                                                    }
                                                                                  spids: [20456]
                                                                                )
                                                                              ]
                                                                              spids: [20456]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: prev
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(EmptyPart)}
                                                                                  spids: [20464]
                                                                                )
                                                                              ]
                                                                              spids: [20464]
                                                                            )
                                                                          ]
                                                                          spids: [16777215 20449]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 20467]
                                                                    )
                                                                    (C {(func_append)} {(libobjs)} 
                                                                      {
                                                                        (DQ (' ') 
                                                                          ($ VSub_Name '$pic_object')
                                                                        )
                                                                      }
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:arg)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name 
'$pic_object'
                                                                                )
                                                                              )
                                                                            }
                                                                          spids: [20485]
                                                                        )
                                                                      ]
                                                                      spids: [20485]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 20341]
                                                                )
                                                              ]
                                                              spids: [16777215 20491]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
'$non_pic_object'
                                                                              )
                                                                            )
                                                                          } {(KW_Bang '!') (Lit_Other '=')} {(none)}
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: non_pic_object
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name '$xdir') ($ VSub_Name '$non_pic_object')
                                                                              )
                                                                            }
                                                                          spids: [20520]
                                                                        )
                                                                      ]
                                                                      spids: [20520]
                                                                    )
                                                                    (C {(func_append)} 
                                                                      {(non_pic_objects)} {(DQ (' ') ($ VSub_Name '$non_pic_object'))}
                                                                    )
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (Sentence
                                                                              child: 
                                                                                (AndOr
                                                                                  ops: [Op_DPipe]
                                                                                  children: [
                                                                                    (C {(test)} {(-z)} 
                                                                                      {
                                                                                        (DQ 
                                                                                          ($ 
VSub_Name '$pic_object'
                                                                                          )
                                                                                        )
                                                                                      }
                                                                                    )
                                                                                    (C {(test)} 
                                                                                      {
                                                                                        (DQ 
                                                                                          ($ 
VSub_Name '$pic_object'
                                                                                          )
                                                                                        )
                                                                                      } {(Lit_Other '=')} {(none)}
                                                                                    )
                                                                                  ]
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ';'>
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: arg
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
'$non_pic_object'
                                                                                        )
                                                                                      )
                                                                                    }
                                                                                  spids: [20569]
                                                                                )
                                                                              ]
                                                                              spids: [20569]
                                                                            )
                                                                          ]
                                                                          spids: [16777215 20566]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 20575]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 20513]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: 
                                                                        (LhsName
                                                                          name: non_pic_object
                                                                        )
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (DQ 
                                                                            ($ VSub_Name 
'$pic_object'
                                                                            )
                                                                          )
                                                                        }
                                                                      spids: [20589]
                                                                    )
                                                                  ]
                                                                  spids: [20589]
                                                                )
                                                                (C {(func_append)} {(non_pic_objects)} 
                                                                  {
                                                                    (DQ (' ') 
                                                                      ($ VSub_Name '$non_pic_object')
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [20578 20605]
                                                            )
                                                          ]
                                                          spids: [16777215 20215]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (If
                                                          arms: [
                                                            (if_arm
                                                              cond: [
                                                                (Sentence
                                                                  child: 
                                                                    (C {($ VSub_Name '$opt_dry_run')})
                                                                  terminator: <Op_Semi ';'>
                                                                )
                                                              ]
                                                              action: [
                                                                (C {(func_dirname)} 
                                                                  {(DQ ($ VSub_Name '$arg'))} {(DQ (/))} {(DQ )}
                                                                )
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:xdir)
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (DQ 
                                                                            ($ VSub_Name 
'$func_dirname_result'
                                                                            )
                                                                          )
                                                                        }
                                                                      spids: [20641]
                                                                    )
                                                                  ]
                                                                  spids: [20641]
                                                                )
                                                                (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: [20655]
                                                                    )
                                                                  ]
                                                                  spids: [20655]
                                                                )
                                                                (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: [20662]
                                                                    )
                                                                  ]
                                                                  spids: [20662]
                                                                )
                                                                (C {(func_append)} {(libobjs)} 
                                                                  {
                                                                    (DQ (' ') 
                                                                      ($ VSub_Name '$pic_object')
                                                                    )
                                                                  }
                                                                )
                                                                (C {(func_append)} {(non_pic_objects)} 
                                                                  {
                                                                    (DQ (' ') 
                                                                      ($ VSub_Name '$non_pic_object')
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [16777215 20620]
                                                            )
                                                          ]
                                                          else_action: [
                                                            (C {(func_fatal_error)} 
                                                              {
                                                                (DQ 
                                                                  (EscapedLiteralPart
                                                                    token: <Lit_EscapedChar '\\`'>
                                                                  ) ($ VSub_Name '$arg') ("' is not a valid libtool object")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [20687 20699]
                                                        )
                                                      ]
                                                      spids: [20608 20702]
                                                    )
                                                  ]
                                                  spids: [20187 20705]
                                                )
                                              spids: [20177 16777215]
                                            )
                                          ]
                                          spids: [16777215 20162]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ('link input file ') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\`'>
                                              ) ($ VSub_Name '$arg') ("' does not exist")
                                            )
                                          }
                                        )
                                      ]
                                      spids: [20708 20721]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg)
                                          op: Equal
                                          rhs: {($ VSub_Name '$save_arg')}
                                          spids: [20724]
                                        )
                                      ]
                                      spids: [20724]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [20728]
                                        )
                                      ]
                                      spids: [20728]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20147 20148 20734 16777215]
                                )
                                (case_arm
                                  pat_list: [{(precious_regex)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:precious_files_regex)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$arg'))}
                                          spids: [20741]
                                        )
                                      ]
                                      spids: [20741]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [20747]
                                        )
                                      ]
                                      spids: [20747]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20737 20738 20753 16777215]
                                )
                                (case_arm
                                  pat_list: [{(release)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:release)
                                          op: Equal
                                          rhs: {(DQ (-) ($ VSub_Name '$arg'))}
                                          spids: [20760]
                                        )
                                      ]
                                      spids: [20760]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [20767]
                                        )
                                      ]
                                      spids: [20767]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20756 20757 20773 16777215]
                                )
                                (case_arm
                                  pat_list: [{(rpath)} {(xrpath)}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name '$arg')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '[') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\\\'>
                                              ) (/) (Lit_Other ']') (Lit_Other '*')
                                            }
                                            {(Lit_Other '[') (A-Za-z) (Lit_Other ']') (Lit_Other ':') 
                                              (Lit_Other '[') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (/) (Lit_Other ']') (Lit_Other '*')
                                            }
                                          ]
                                          spids: [20795 20812 20814 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {(DQ ('only absolute run-paths are allowed'))}
                                            )
                                          ]
                                          spids: [20817 20818 20828 16777215]
                                        )
                                      ]
                                      spids: [20788 20792 20831]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$prev'))} 
                                                  {(Lit_Other '=')} {(rpath)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Case
                                              to_match: {(DQ ($ VSub_Name '$rpath') (' '))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$arg') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [20860 20867 20869 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:rpath)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$rpath') (' ') 
                                                                ($ VSub_Name '$arg')
                                                              )
                                                            }
                                                          spids: [20875]
                                                        )
                                                      ]
                                                      spids: [20875]
                                                    )
                                                  ]
                                                  spids: [20872 20873 20882 16777215]
                                                )
                                              ]
                                              spids: [20850 20857 20885]
                                            )
                                          ]
                                          spids: [16777215 20847]
                                        )
                                      ]
                                      else_action: [
                                        (Case
                                          to_match: {(DQ ($ VSub_Name '$xrpath') (' '))}
                                          arms: [
                                            (case_arm
                                              pat_list: [
                                                {(Lit_Other '*') 
                                                  (DQ (' ') ($ VSub_Name '$arg') (' ')) (Lit_Other '*')
                                                }
                                              ]
                                              spids: [20901 20908 20910 16777215]
                                            )
                                            (case_arm
                                              pat_list: [{(Lit_Other '*')}]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:xrpath)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$xrpath') (' ') 
                                                            ($ VSub_Name '$arg')
                                                          )
                                                        }
                                                      spids: [20916]
                                                    )
                                                  ]
                                                  spids: [20916]
                                                )
                                              ]
                                              spids: [20913 20914 20923 16777215]
                                            )
                                          ]
                                          spids: [20891 20898 20926]
                                        )
                                      ]
                                      spids: [20888 20929]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [20932]
                                        )
                                      ]
                                      spids: [20932]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20776 20781 20938 16777215]
                                )
                                (case_arm
                                  pat_list: [{(shrext)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:shrext_cmds)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$arg'))}
                                          spids: [20945]
                                        )
                                      ]
                                      spids: [20945]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [20951]
                                        )
                                      ]
                                      spids: [20951]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20941 20942 20957 16777215]
                                )
                                (case_arm
                                  pat_list: [{(weak)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:weak_libs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$weak_libs') (' ') ($ VSub_Name '$arg'))
                                            }
                                          spids: [20964]
                                        )
                                      ]
                                      spids: [20964]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [20972]
                                        )
                                      ]
                                      spids: [20972]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20960 20961 20978 16777215]
                                )
                                (case_arm
                                  pat_list: [{(xcclinker)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linker_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$linker_flags') (' ') 
                                                ($ VSub_Name '$qarg')
                                              )
                                            }
                                          spids: [20985]
                                        )
                                      ]
                                      spids: [20985]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:compiler_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$compiler_flags') (' ') 
                                                ($ VSub_Name '$qarg')
                                              )
                                            }
                                          spids: [20993]
                                        )
                                      ]
                                      spids: [20993]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [21001]
                                        )
                                      ]
                                      spids: [21001]
                                    )
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20981 20982 21027 16777215]
                                )
                                (case_arm
                                  pat_list: [{(xcompiler)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:compiler_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$compiler_flags') (' ') 
                                                ($ VSub_Name '$qarg')
                                              )
                                            }
                                          spids: [21034]
                                        )
                                      ]
                                      spids: [21034]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [21042]
                                        )
                                      ]
                                      spids: [21042]
                                    )
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [21030 21031 21068 16777215]
                                )
                                (case_arm
                                  pat_list: [{(xlinker)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linker_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$linker_flags') (' ') 
                                                ($ VSub_Name '$qarg')
                                              )
                                            }
                                          spids: [21075]
                                        )
                                      ]
                                      spids: [21075]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:compiler_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$compiler_flags') (' ') 
                                                ($ VSub_Name '$wl') ($ VSub_Name '$qarg')
                                              )
                                            }
                                          spids: [21083]
                                        )
                                      ]
                                      spids: [21083]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [21092]
                                        )
                                      ]
                                      spids: [21092]
                                    )
                                    (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: [21071 21072 21120 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(eval)} 
                                      {
                                        (DQ ($ VSub_Name '$prev') ('=') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\"'>
                                          ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (arg) 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\"'>
                                          )
                                        )
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [21139]
                                        )
                                      ]
                                      spids: [21139]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [21123 21124 21145 16777215]
                                )
                              ]
                              spids: [19734 19738 21148]
                            )
                          ]
                          spids: [16777215 19695]
                        )
                      ]
                      spids: [16777215 21151]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:prevarg)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$arg'))}
                          spids: [21158]
                        )
                      ]
                      spids: [21158]
                    )
                    (Case
                      to_match: {($ VSub_Name '$arg')}
                      arms: [
                        (case_arm
                          pat_list: [{(-all-static)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$link_static_flag'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (' ') ($ VSub_Name '$link_static_flag'))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (' ') ($ VSub_Name '$link_static_flag'))}
                                    )
                                  ]
                                  spids: [16777215 21187]
                                )
                              ]
                              spids: [16777215 21214]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21172 21173 21220 16777215]
                        )
                        (case_arm
                          pat_list: [{(-allow-undefined)}]
                          action: [
                            (C {(func_fatal_error)} 
                              {
                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                  ("-allow-undefined' must not be used because it is the default")
                                )
                              }
                            )
                          ]
                          spids: [21224 21225 21240 16777215]
                        )
                        (case_arm
                          pat_list: [{(-avoid-version)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:avoid_version)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [21248]
                                )
                              ]
                              spids: [21248]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21244 21245 21255 16777215]
                        )
                        (case_arm
                          pat_list: [{(-dlopen)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(dlfiles)}
                                  spids: [21263]
                                )
                              ]
                              spids: [21263]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21259 21260 21270 16777215]
                        )
                        (case_arm
                          pat_list: [{(-dlpreopen)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(dlprefiles)}
                                  spids: [21278]
                                )
                              ]
                              spids: [21278]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21274 21275 21285 16777215]
                        )
                        (case_arm
                          pat_list: [{(-export-dynamic)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:export_dynamic)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [21293]
                                )
                              ]
                              spids: [21293]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21289 21290 21300 16777215]
                        )
                        (case_arm
                          pat_list: [{(-export-symbols)} {(-export-symbols-regex)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DPipe]
                                          children: [
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$export_symbols'))})
                                            (C {(test)} {(-n)} 
                                              {(DQ ($ VSub_Name '$export_symbols_regex'))}
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_fatal_error)} 
                                      {
                                        (DQ 
                                          (
'more than one -exported-symbols argument is not allowed'
                                          )
                                        )
                                      }
                                    )
                                  ]
                                  spids: [16777215 21333]
                                )
                              ]
                              spids: [16777215 21343]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ (X) ($ VSub_Name '$arg'))} {(Lit_Other '=')} 
                                          {(DQ (X-export-symbols))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(expsyms)}
                                          spids: [21365]
                                        )
                                      ]
                                      spids: [21365]
                                    )
                                  ]
                                  spids: [16777215 21362]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:prev)
                                      op: Equal
                                      rhs: {(expsyms_regex)}
                                      spids: [21372]
                                    )
                                  ]
                                  spids: [21372]
                                )
                              ]
                              spids: [21369 21376]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21304 21309 21382 16777215]
                        )
                        (case_arm
                          pat_list: [{(-framework)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(framework)}
                                  spids: [21390]
                                )
                              ]
                              spids: [21390]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21386 21387 21397 16777215]
                        )
                        (case_arm
                          pat_list: [{(-inst-prefix-dir)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(inst_prefix)}
                                  spids: [21405]
                                )
                              ]
                              spids: [21405]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21401 21402 21412 16777215]
                        )
                        (case_arm
                          pat_list: [
                            {(-L) (Lit_Other '[') (A-Z) (Lit_Other ']') (Lit_Other '[') (A-Z) 
                              (Lit_Other ']') (Lit_Other '*') (Lit_Other ':') (Lit_Other '*')
                            }
                          ]
                          action: [
                            (Case
                              to_match: {($ VSub_Name '$with_gcc') (/) ($ VSub_Name '$host')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(no/) (Lit_Other '*') (-) (Lit_Other '*') (-irix) (Lit_Other '*')}
                                    {(/) (Lit_Other '*') (-) (Lit_Other '*') (-irix) (Lit_Other '*')}
                                  ]
                                  action: [
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (' ') ($ VSub_Name '$arg'))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (' ') ($ VSub_Name '$arg'))}
                                    )
                                  ]
                                  spids: [21446 21461 21484 16777215]
                                )
                              ]
                              spids: [21437 21443 21487]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21424 21434 21493 16777215]
                        )
                        (case_arm
                          pat_list: [{(-L) (Lit_Other '*')}]
                          action: [
                            (C {(func_stripname)} {(SQ <-L>)} {(SQ )} {(DQ ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dir)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                  spids: [21516]
                                )
                              ]
                              spids: [21516]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$dir'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Pound '$#'))} {(-gt)} {(0)})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {
                                                (DQ ('require no space between ') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\`'>
                                                  ) ("-L' and ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Number '$1') ("'")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [16777215 21547]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ('need path for ') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\`'>
                                              ) ("-L' option")
                                            )
                                          }
                                        )
                                      ]
                                      spids: [21562 21574]
                                    )
                                  ]
                                  spids: [16777215 21531]
                                )
                              ]
                              spids: [16777215 21577]
                            )
                            (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: [21591 21608 21610 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:absdir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (AndOr
                                                        ops: [Op_DAmp]
                                                        children: [
                                                          (C {(cd)} {(DQ ($ VSub_Name '$dir'))})
                                                          (C {(pwd)})
                                                        ]
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [21618 21628]
                                              )
                                            }
                                          spids: [21617]
                                        )
                                      ]
                                      spids: [21617]
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$absdir'))})
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ('cannot determine absolute directory name of ') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\`'>
                                              ) ($ VSub_Name '$dir') ("'")
                                            )
                                          }
                                        )
                                      ]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dir)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$absdir'))}
                                          spids: [21653]
                                        )
                                      ]
                                      spids: [21653]
                                    )
                                  ]
                                  spids: [21613 21614 21659 16777215]
                                )
                              ]
                              spids: [21584 21588 21662]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name '$deplibs') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' -L') ($ VSub_Name '$dir') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  spids: [21675 21682 21684 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$deplibs') (' -L') ($ VSub_Name '$dir'))
                                            }
                                          spids: [21691]
                                        )
                                      ]
                                      spids: [21691]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lib_search_path)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$lib_search_path') (' ') 
                                                ($ VSub_Name '$dir')
                                              )
                                            }
                                          spids: [21699]
                                        )
                                      ]
                                      spids: [21699]
                                    )
                                  ]
                                  spids: [21687 21688 21707 16777215]
                                )
                              ]
                              spids: [21665 21672 21710]
                            )
                            (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 (X) ($ VSub_Name '$dir'))}
                                                          )
                                                          (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                            {(SQ <'s*/lib$*/bin*'>)}
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [21759 21776]
                                              )
                                            }
                                          spids: [21758]
                                        )
                                      ]
                                      spids: [21758]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ':') ($ VSub_Name '$dllsearchpath') 
                                          (Lit_Other ':')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (':') ($ VSub_Name '$dir') (':')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [21788 21795 21797 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other ':') (Lit_Other ':')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$dir')}
                                                  spids: [21804]
                                                )
                                              ]
                                              spids: [21804]
                                            )
                                          ]
                                          spids: [21800 21802 21806 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$dllsearchpath') (':') 
                                                        ($ VSub_Name '$dir')
                                                      )
                                                    }
                                                  spids: [21812]
                                                )
                                              ]
                                              spids: [21812]
                                            )
                                          ]
                                          spids: [21809 21810 21818 16777215]
                                        )
                                      ]
                                      spids: [21779 21785 21821]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ':') ($ VSub_Name '$dllsearchpath') 
                                          (Lit_Other ':')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') 
                                              (DQ (':') ($ VSub_Name '$testbindir') (':')) (Lit_Other '*')
                                            }
                                          ]
                                          spids: [21833 21840 21842 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other ':') (Lit_Other ':')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$testbindir')}
                                                  spids: [21849]
                                                )
                                              ]
                                              spids: [21849]
                                            )
                                          ]
                                          spids: [21845 21847 21851 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$dllsearchpath') (':') 
                                                        ($ VSub_Name '$testbindir')
                                                      )
                                                    }
                                                  spids: [21857]
                                                )
                                              ]
                                              spids: [21857]
                                            )
                                          ]
                                          spids: [21854 21855 21863 16777215]
                                        )
                                      ]
                                      spids: [21824 21830 21866]
                                    )
                                  ]
                                  spids: [21720 21755 21869 16777215]
                                )
                              ]
                              spids: [21713 21717 21872]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21497 21499 21878 16777215]
                        )
                        (case_arm
                          pat_list: [{(-l) (Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DPipe]
                                          children: [
                                            (C {(test)} {(DQ (X) ($ VSub_Name '$arg'))} 
                                              {(Lit_Other '=')} {(DQ (X-lc))}
                                            )
                                            (C {(test)} {(DQ (X) ($ VSub_Name '$arg'))} 
                                              {(Lit_Other '=')} {(DQ (X-lm))}
                                            )
                                          ]
                                        )
                                      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 '*')}
                                          ]
                                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                                          spids: [21928 21963 21973 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-os2) (Lit_Other '*')}
                                          ]
                                          action: [
                                            (AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {(test)} {(DQ (X) ($ VSub_Name '$arg'))} 
                                                  {(Lit_Other '=')} {(DQ (X-lc))}
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Continue continue>
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [21976 21981 22006 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-openbsd) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-freebsd) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-dragonfly) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {(test)} {(DQ (X) ($ VSub_Name '$arg'))} 
                                                  {(Lit_Other '=')} {(DQ (X-lc))}
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Continue continue>
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [22009 22030 22055 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-rhapsody) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-darwin1.) 
                                              (Lit_Other '[') (012) (Lit_Other ']')
                                            }
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplibs') 
                                                        (' System.ltframework')
                                                      )
                                                    }
                                                  spids: [22080]
                                                )
                                              ]
                                              spids: [22080]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [22058 22073 22090 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sco3.2v5) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sco5v6) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {(test)} {(DQ (X) ($ VSub_Name '$arg'))} 
                                                  {(Lit_Other '=')} {(DQ (X-lc))}
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Continue continue>
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [22093 22106 22131 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sysv4.2uw2) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sysv5) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-unixware) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-OpenUNIX) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {(test)} {(DQ (X) ($ VSub_Name '$arg'))} 
                                                  {(Lit_Other '=')} {(DQ (X-lc))}
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Continue continue>
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [22134 22163 22188 16777215]
                                        )
                                      ]
                                      spids: [21921 21925 22191]
                                    )
                                  ]
                                  spids: [16777215 21918]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ (X) ($ VSub_Name '$arg'))} {(Lit_Other '=')} 
                                          {(DQ (X-lc_r))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name '$host')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-openbsd) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-freebsd) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-dragonfly) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                                          spids: [22220 22241 22251 16777215]
                                        )
                                      ]
                                      spids: [22213 22217 22254]
                                    )
                                  ]
                                  spids: [22194 22210]
                                )
                              ]
                              spids: [16777215 22257]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$deplibs') (' ') ($ VSub_Name '$arg'))}
                                  spids: [22260]
                                )
                              ]
                              spids: [22260]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21882 21884 22271 16777215]
                        )
                        (case_arm
                          pat_list: [{(-module)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:module)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [22279]
                                )
                              ]
                              spids: [22279]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22275 22276 22286 16777215]
                        )
                        (case_arm
                          pat_list: [{(-model)} {(-arch)} {(-isysroot)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:compiler_flags)
                                  op: Equal
                                  rhs: 
                                    {(DQ ($ VSub_Name '$compiler_flags') (' ') ($ VSub_Name '$arg'))}
                                  spids: [22310]
                                )
                              ]
                              spids: [22310]
                            )
                            (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: [22338]
                                )
                              ]
                              spids: [22338]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22302 22307 22345 16777215]
                        )
                        (case_arm
                          pat_list: [
                            {(-mt)}
                            {(-mthreads)}
                            {(-kthread)}
                            {(-Kthread)}
                            {(-pthread)}
                            {(-pthreads)}
                            {(--thread-safe)}
                            {(-threads)}
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:compiler_flags)
                                  op: Equal
                                  rhs: 
                                    {(DQ ($ VSub_Name '$compiler_flags') (' ') ($ VSub_Name '$arg'))}
                                  spids: [22367]
                                )
                              ]
                              spids: [22367]
                            )
                            (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: [22405 22412 22414 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:new_inherited_linker_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$new_inherited_linker_flags') (' ') 
                                                ($ VSub_Name '$arg')
                                              )
                                            }
                                          spids: [22421]
                                        )
                                      ]
                                      spids: [22421]
                                    )
                                  ]
                                  spids: [22417 22419 22428 16777215]
                                )
                              ]
                              spids: [22395 22402 22431]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22349 22364 22437 16777215]
                        )
                        (case_arm
                          pat_list: [{(-multi_module)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:single_module)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name wl) (-multi_module))}
                                  spids: [22445]
                                )
                              ]
                              spids: [22445]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22441 22442 22457 16777215]
                        )
                        (case_arm
                          pat_list: [{(-no-fast-install)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:fast_install)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [22465]
                                )
                              ]
                              spids: [22465]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22461 22462 22472 16777215]
                        )
                        (case_arm
                          pat_list: [{(-no-install)}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name '$host')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-cygwin) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-mingw) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-pw32) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-os2) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-darwin) (Lit_Other '*')}
                                    {(Lit_Other '*') (-cegcc) (Lit_Other '*')}
                                  ]
                                  action: [
                                    (C {(func_warning)} 
                                      {
                                        (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                          ("-no-install' is ignored for ") ($ VSub_Name '$host')
                                        )
                                      }
                                    )
                                    (C {(func_warning)} 
                                      {
                                        (DQ ('assuming ') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\`'>
                                          ) ("-no-fast-install' instead")
                                        )
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:fast_install)
                                          op: Equal
                                          rhs: {(no)}
                                          spids: [22559]
                                        )
                                      ]
                                      spids: [22559]
                                    )
                                  ]
                                  spids: [22487 22530 22563 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:no_install)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [22569]
                                        )
                                      ]
                                      spids: [22569]
                                    )
                                  ]
                                  spids: [22566 22567 22572 16777215]
                                )
                              ]
                              spids: [22480 22484 22575]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22476 22477 22581 16777215]
                        )
                        (case_arm
                          pat_list: [{(-no-undefined)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:allow_undefined)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [22589]
                                )
                              ]
                              spids: [22589]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22585 22586 22596 16777215]
                        )
                        (case_arm
                          pat_list: [{(-objectlist)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(objectlist)}
                                  spids: [22604]
                                )
                              ]
                              spids: [22604]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22600 22601 22611 16777215]
                        )
                        (case_arm
                          pat_list: [{(-o)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(output)}
                                  spids: [22618]
                                )
                              ]
                              spids: [22618]
                            )
                          ]
                          spids: [22615 22616 22621 16777215]
                        )
                        (case_arm
                          pat_list: [{(-precious-files-regex)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(precious_regex)}
                                  spids: [22629]
                                )
                              ]
                              spids: [22629]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22625 22626 22636 16777215]
                        )
                        (case_arm
                          pat_list: [{(-release)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(release)}
                                  spids: [22644]
                                )
                              ]
                              spids: [22644]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22640 22641 22651 16777215]
                        )
                        (case_arm
                          pat_list: [{(-rpath)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(rpath)}
                                  spids: [22659]
                                )
                              ]
                              spids: [22659]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22655 22656 22666 16777215]
                        )
                        (case_arm
                          pat_list: [{(-R)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xrpath)}
                                  spids: [22674]
                                )
                              ]
                              spids: [22674]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22670 22671 22681 16777215]
                        )
                        (case_arm
                          pat_list: [{(-R) (Lit_Other '*')}]
                          action: [
                            (C {(func_stripname)} {(SQ <-R>)} {(SQ )} {(DQ ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dir)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                  spids: [22704]
                                )
                              ]
                              spids: [22704]
                            )
                            (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: [22719 22736 22738 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_fatal_error)} 
                                      {(DQ ('only absolute run-paths are allowed'))}
                                    )
                                  ]
                                  spids: [22741 22742 22752 16777215]
                                )
                              ]
                              spids: [22712 22716 22755]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name '$xrpath') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$dir') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  spids: [22768 22775 22777 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:xrpath)
                                          op: Equal
                                          rhs: 
                                            {(DQ ($ VSub_Name '$xrpath') (' ') ($ VSub_Name '$dir'))}
                                          spids: [22783]
                                        )
                                      ]
                                      spids: [22783]
                                    )
                                  ]
                                  spids: [22780 22781 22790 16777215]
                                )
                              ]
                              spids: [22758 22765 22793]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22685 22687 22799 16777215]
                        )
                        (case_arm
                          pat_list: [{(-shared)}]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [22803 22804 22814 16777215]
                        )
                        (case_arm
                          pat_list: [{(-shrext)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(shrext)}
                                  spids: [22822]
                                )
                              ]
                              spids: [22822]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22818 22819 22829 16777215]
                        )
                        (case_arm
                          pat_list: [{(-static)} {(-static-libtool-libs)}]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [22833 22838 22864 16777215]
                        )
                        (case_arm
                          pat_list: [{(-thread-safe)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:thread_safe)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [22872]
                                )
                              ]
                              spids: [22872]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22868 22869 22879 16777215]
                        )
                        (case_arm
                          pat_list: [{(-version-info)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(vinfo)}
                                  spids: [22887]
                                )
                              ]
                              spids: [22887]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22883 22884 22894 16777215]
                        )
                        (case_arm
                          pat_list: [{(-version-number)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(vinfo)}
                                  spids: [22902]
                                )
                              ]
                              spids: [22902]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:vinfo_number)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [22906]
                                )
                              ]
                              spids: [22906]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22898 22899 22913 16777215]
                        )
                        (case_arm
                          pat_list: [{(-weak)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(weak)}
                                  spids: [22921]
                                )
                              ]
                              spids: [22921]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22917 22918 22928 16777215]
                        )
                        (case_arm
                          pat_list: [{(-Wc) (Lit_Comma ',') (Lit_Other '*')}]
                          action: [
                            (C {(func_stripname)} {(SQ <'-Wc,'>)} {(SQ )} {(DQ ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:args)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                  spids: [22952]
                                )
                              ]
                              spids: [22952]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [22956]
                                )
                              ]
                              spids: [22956]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$IFS'))}
                                      spids: [22959]
                                    )
                                  ]
                                  spids: [22959]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(SQ <','>)}
                                  spids: [22965]
                                )
                              ]
                              spids: [22965]
                            )
                            (ForEach
                              iter_name: flag
                              iter_words: [{($ VSub_Name '$args')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                          spids: [22983]
                                        )
                                      ]
                                      spids: [22983]
                                    )
                                    (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$flag'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$arg') (' ') ($ VSub_Name '$wl') 
                                                ($ VSub_Name '$func_quote_for_eval_result')
                                              )
                                            }
                                          spids: [22996]
                                        )
                                      ]
                                      spids: [22996]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:compiler_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$compiler_flags') (' ') 
                                                ($ VSub_Name '$func_quote_for_eval_result')
                                              )
                                            }
                                          spids: [23005]
                                        )
                                      ]
                                      spids: [23005]
                                    )
                                  ]
                                  spids: [22980 23013]
                                )
                              spids: [22976 22978]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                  spids: [23016]
                                )
                              ]
                              spids: [23016]
                            )
                            (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: [23036]
                                )
                              ]
                              spids: [23036]
                            )
                          ]
                          spids: [22932 22935 23040 16777215]
                        )
                        (case_arm
                          pat_list: [{(-Wl) (Lit_Comma ',') (Lit_Other '*')}]
                          action: [
                            (C {(func_stripname)} {(SQ <'-Wl,'>)} {(SQ )} {(DQ ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:args)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                  spids: [23064]
                                )
                              ]
                              spids: [23064]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [23068]
                                )
                              ]
                              spids: [23068]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$IFS'))}
                                      spids: [23071]
                                    )
                                  ]
                                  spids: [23071]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(SQ <','>)}
                                  spids: [23077]
                                )
                              ]
                              spids: [23077]
                            )
                            (ForEach
                              iter_name: flag
                              iter_words: [{($ VSub_Name '$args')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                          spids: [23095]
                                        )
                                      ]
                                      spids: [23095]
                                    )
                                    (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$flag'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$arg') (' ') ($ VSub_Name '$wl') 
                                                ($ VSub_Name '$func_quote_for_eval_result')
                                              )
                                            }
                                          spids: [23108]
                                        )
                                      ]
                                      spids: [23108]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:compiler_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$compiler_flags') (' ') 
                                                ($ VSub_Name '$wl') ($ VSub_Name '$func_quote_for_eval_result')
                                              )
                                            }
                                          spids: [23117]
                                        )
                                      ]
                                      spids: [23117]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linker_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$linker_flags') (' ') 
                                                ($ VSub_Name '$func_quote_for_eval_result')
                                              )
                                            }
                                          spids: [23126]
                                        )
                                      ]
                                      spids: [23126]
                                    )
                                  ]
                                  spids: [23092 23134]
                                )
                              spids: [23088 23090]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                  spids: [23137]
                                )
                              ]
                              spids: [23137]
                            )
                            (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: [23157]
                                )
                              ]
                              spids: [23157]
                            )
                          ]
                          spids: [23044 23047 23161 16777215]
                        )
                        (case_arm
                          pat_list: [{(-Xcompiler)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xcompiler)}
                                  spids: [23169]
                                )
                              ]
                              spids: [23169]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [23165 23166 23176 16777215]
                        )
                        (case_arm
                          pat_list: [{(-Xlinker)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xlinker)}
                                  spids: [23184]
                                )
                              ]
                              spids: [23184]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [23180 23181 23191 16777215]
                        )
                        (case_arm
                          pat_list: [{(-XCClinker)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xcclinker)}
                                  spids: [23199]
                                )
                              ]
                              spids: [23199]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [23195 23196 23206 16777215]
                        )
                        (case_arm
                          pat_list: [{(-msg_) (Lit_Other '*')}]
                          action: [
                            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$func_quote_for_eval_result'))}
                                  spids: [23226]
                                )
                              ]
                              spids: [23226]
                            )
                          ]
                          spids: [23214 23216 23232 16777215]
                        )
                        (case_arm
                          pat_list: [
                            {(-64)}
                            {(-mips) (Lit_Other '[') (0-9) (Lit_Other ']')}
                            {(-r) (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '[') (0-9) 
                              (Lit_Other ']') (Lit_Other '*')
                            }
                            {(-xarch) (Lit_Other '=') (Lit_Other '*')}
                            {(-xtarget) (Lit_Other '=') (Lit_Other '*')}
                            {(Lit_Other '+') (DA) (Lit_Other '*')}
                            {(Lit_Other '+') (DD) (Lit_Other '*')}
                            {(-q) (Lit_Other '*')}
                            {(-m) (Lit_Other '*')}
                            {(-t) (Lit_Other '[') (45) (Lit_Other ']') (Lit_Other '*')}
                            {(-txscale) (Lit_Other '*')}
                            {(-p)}
                            {(-pg)}
                            {(--coverage)}
                            {(-fprofile-) (Lit_Other '*')}
                            {(-F) (Lit_Other '*')}
                            {(Lit_Other '@') (Lit_Other '*')}
                          ]
                          action: [
                            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$func_quote_for_eval_result'))}
                                  spids: [23350]
                                )
                              ]
                              spids: [23350]
                            )
                            (C {(func_append)} {(compile_command)} {(DQ (' ') ($ VSub_Name '$arg'))})
                            (C {(func_append)} {(finalize_command)} {(DQ (' ') ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:compiler_flags)
                                  op: Equal
                                  rhs: 
                                    {(DQ ($ VSub_Name '$compiler_flags') (' ') ($ VSub_Name '$arg'))}
                                  spids: [23376]
                                )
                              ]
                              spids: [23376]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [23276 23340 23387 16777215]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other '*')} {(Lit_Other '+') (Lit_Other '*')}]
                          action: [
                            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$func_quote_for_eval_result'))}
                                  spids: [23412]
                                )
                              ]
                              spids: [23412]
                            )
                          ]
                          spids: [23395 23402 23418 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.) ($ VSub_Name '$objext')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:objs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$objs') (' ') ($ VSub_Name '$arg'))}
                                  spids: [23432]
                                )
                              ]
                              spids: [23432]
                            )
                          ]
                          spids: [23422 23425 23440 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.lo)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(func_lalib_unsafe_p)} {(DQ ($ VSub_Name '$arg'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:pic_object)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [23470]
                                        )
                                      ]
                                      spids: [23470]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:non_pic_object)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [23473]
                                        )
                                      ]
                                      spids: [23473]
                                    )
                                    (C {(func_source)} {(DQ ($ VSub_Name '$arg'))})
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DPipe Op_DPipe Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name '$pic_object'))})
                                                    (C {(test)} {(-z)} 
                                                      {(DQ ($ VSub_Name '$non_pic_object'))}
                                                    )
                                                    (C {(test)} {(DQ ($ VSub_Name '$pic_object'))} 
                                                      {(Lit_Other '=')} {(none)}
                                                    )
                                                    (C {(test)} {(DQ ($ VSub_Name '$non_pic_object'))} 
                                                      {(Lit_Other '=')} {(none)}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {
                                                (DQ ('cannot find name of object for ') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\`'>
                                                  ) ($ VSub_Name '$arg') ("'")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [16777215 23537]
                                        )
                                      ]
                                      spids: [16777215 23550]
                                    )
                                    (C {(func_dirname)} {(DQ ($ VSub_Name '$arg'))} {(DQ (/))} {(DQ )})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:xdir)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$func_dirname_result'))}
                                          spids: [23572]
                                        )
                                      ]
                                      spids: [23572]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$pic_object'))} 
                                                  {(KW_Bang '!') (Lit_Other '=')} {(none)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:pic_object)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$xdir') 
                                                        ($ VSub_Name '$pic_object')
                                                      )
                                                    }
                                                  spids: [23600]
                                                )
                                              ]
                                              spids: [23600]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$prev'))} 
                                                          {(Lit_Other '=')} {(dlfiles)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (AndOr
                                                                  ops: [Op_DAmp]
                                                                  children: [
                                                                    (C {(test)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
'$build_libtool_libs'
                                                                          )
                                                                        )
                                                                      } {(Lit_Other '=')} {(yes)}
                                                                    )
                                                                    (C {(test)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
'$dlopen_support'
                                                                          )
                                                                        )
                                                                      } {(Lit_Other '=')} {(yes)}
                                                                    )
                                                                  ]
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:dlfiles)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$dlfiles') 
                                                                        (' ') ($ VSub_Name '$pic_object')
                                                                      )
                                                                    }
                                                                  spids: [23652]
                                                                )
                                                              ]
                                                              spids: [23652]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:prev)
                                                                  op: Equal
                                                                  rhs: {(EmptyPart)}
                                                                  spids: [23660]
                                                                )
                                                              ]
                                                              spids: [23660]
                                                            )
                                                            (ControlFlow
                                                              token: <ControlFlow_Continue continue>
                                                            )
                                                          ]
                                                          spids: [16777215 23649]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:prev)
                                                              op: Equal
                                                              rhs: {(dlprefiles)}
                                                              spids: [23673]
                                                            )
                                                          ]
                                                          spids: [23673]
                                                        )
                                                      ]
                                                      spids: [23666 23677]
                                                    )
                                                  ]
                                                  spids: [16777215 23621]
                                                )
                                              ]
                                              spids: [16777215 23680]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$prev'))} 
                                                          {(Lit_Other '=')} {(dlprefiles)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:dlprefiles)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$dlprefiles') (' ') 
                                                                ($ VSub_Name '$pic_object')
                                                              )
                                                            }
                                                          spids: [23708]
                                                        )
                                                      ]
                                                      spids: [23708]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:prev)
                                                          op: Equal
                                                          rhs: {(EmptyPart)}
                                                          spids: [23716]
                                                        )
                                                      ]
                                                      spids: [23716]
                                                    )
                                                  ]
                                                  spids: [16777215 23701]
                                                )
                                              ]
                                              spids: [16777215 23719]
                                            )
                                            (C {(func_append)} {(libobjs)} 
                                              {(DQ (' ') ($ VSub_Name '$pic_object'))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:arg)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$pic_object'))}
                                                  spids: [23737]
                                                )
                                              ]
                                              spids: [23737]
                                            )
                                          ]
                                          spids: [16777215 23593]
                                        )
                                      ]
                                      spids: [16777215 23743]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$non_pic_object'))} 
                                                  {(KW_Bang '!') (Lit_Other '=')} {(none)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:non_pic_object)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$xdir') 
                                                        ($ VSub_Name '$non_pic_object')
                                                      )
                                                    }
                                                  spids: [23772]
                                                )
                                              ]
                                              spids: [23772]
                                            )
                                            (C {(func_append)} {(non_pic_objects)} 
                                              {(DQ (' ') ($ VSub_Name '$non_pic_object'))}
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          ops: [Op_DPipe]
                                                          children: [
                                                            (C {(test)} {(-z)} 
                                                              {(DQ ($ VSub_Name '$pic_object'))}
                                                            )
                                                            (C {(test)} 
                                                              {(DQ ($ VSub_Name '$pic_object'))} {(Lit_Other '=')} {(none)}
                                                            )
                                                          ]
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:arg)
                                                          op: Equal
                                                          rhs: {(DQ ($ VSub_Name '$non_pic_object'))}
                                                          spids: [23821]
                                                        )
                                                      ]
                                                      spids: [23821]
                                                    )
                                                  ]
                                                  spids: [16777215 23818]
                                                )
                                              ]
                                              spids: [16777215 23827]
                                            )
                                          ]
                                          spids: [16777215 23765]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:non_pic_object)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$pic_object'))}
                                              spids: [23841]
                                            )
                                          ]
                                          spids: [23841]
                                        )
                                        (C {(func_append)} {(non_pic_objects)} 
                                          {(DQ (' ') ($ VSub_Name '$non_pic_object'))}
                                        )
                                      ]
                                      spids: [23830 23857]
                                    )
                                  ]
                                  spids: [16777215 23467]
                                )
                              ]
                              else_action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: (C {($ VSub_Name '$opt_dry_run')})
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(func_dirname)} {(DQ ($ VSub_Name '$arg'))} {(DQ (/))} {(DQ )})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:xdir)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$func_dirname_result'))}
                                              spids: [23893]
                                            )
                                          ]
                                          spids: [23893]
                                        )
                                        (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: [23907]
                                            )
                                          ]
                                          spids: [23907]
                                        )
                                        (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: [23914]
                                            )
                                          ]
                                          spids: [23914]
                                        )
                                        (C {(func_append)} {(libobjs)} 
                                          {(DQ (' ') ($ VSub_Name '$pic_object'))}
                                        )
                                        (C {(func_append)} {(non_pic_objects)} 
                                          {(DQ (' ') ($ VSub_Name '$non_pic_object'))}
                                        )
                                      ]
                                      spids: [16777215 23872]
                                    )
                                  ]
                                  else_action: [
                                    (C {(func_fatal_error)} 
                                      {
                                        (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                          ($ VSub_Name '$arg') ("' is not a valid libtool object")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [23939 23951]
                                )
                              ]
                              spids: [23860 23954]
                            )
                          ]
                          spids: [23444 23446 23957 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.) ($ VSub_Name '$libext')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$deplibs') (' ') ($ VSub_Name '$arg'))}
                                  spids: [23971]
                                )
                              ]
                              spids: [23971]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:old_deplibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$old_deplibs') (' ') ($ VSub_Name '$arg'))}
                                  spids: [23979]
                                )
                              ]
                              spids: [23979]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [23961 23964 23990 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.la)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$prev'))} {(Lit_Other '=')} 
                                          {(dlfiles)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlfiles)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$dlfiles') (' ') ($ VSub_Name '$arg'))
                                            }
                                          spids: [24024]
                                        )
                                      ]
                                      spids: [24024]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [24032]
                                        )
                                      ]
                                      spids: [24032]
                                    )
                                  ]
                                  spids: [16777215 24017]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$prev'))} {(Lit_Other '=')} 
                                          {(dlprefiles)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlprefiles)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$dlprefiles') (' ') 
                                                ($ VSub_Name '$arg')
                                              )
                                            }
                                          spids: [24055]
                                        )
                                      ]
                                      spids: [24055]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [24063]
                                        )
                                      ]
                                      spids: [24063]
                                    )
                                  ]
                                  spids: [24035 24048]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:deplibs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$deplibs') (' ') ($ VSub_Name '$arg'))}
                                      spids: [24069]
                                    )
                                  ]
                                  spids: [24069]
                                )
                              ]
                              spids: [24066 24077]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [23994 23996 24083 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$func_quote_for_eval_result'))}
                                  spids: [24110]
                                )
                              ]
                              spids: [24110]
                            )
                          ]
                          spids: [24091 24092 24116 16777215]
                        )
                      ]
                      spids: [21165 21169 24119]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$arg'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_append)} {(compile_command)} {(DQ (' ') ($ VSub_Name '$arg'))})
                            (C {(func_append)} {(finalize_command)} {(DQ (' ') ($ VSub_Name '$arg'))})
                          ]
                          spids: [16777215 24141]
                        )
                      ]
                      spids: [16777215 24164]
                    )
                  ]
                  spids: [19646 24167]
                )
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$prev'))})
                (C {(func_fatal_help)} 
                  {
                    (DQ ('the ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                      ($ VSub_Name '$prevarg') ("' option requires an argument")
                    )
                  }
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(test)} {(DQ ($ VSub_Name '$export_dynamic'))} {(Lit_Other '=')} {(yes)})
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$export_dynamic_flag_spec'))})
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(eval)} 
                      {(Lit_VarLike 'arg=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                        ($ VSub_Name '$export_dynamic_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                      }
                    )
                    (C {(func_append)} {(compile_command)} {(DQ (' ') ($ VSub_Name '$arg'))})
                    (C {(func_append)} {(finalize_command)} {(DQ (' ') ($ VSub_Name '$arg'))})
                  ]
                  spids: [16777215 24220]
                )
              ]
              spids: [16777215 24251]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:oldlibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [24255]
                )
              ]
              spids: [24255]
            )
            (C {(func_basename)} {(DQ ($ VSub_Name '$output'))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:outputname)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                  spids: [24269]
                )
              ]
              spids: [24269]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libobjs_save)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$libobjs'))}
                  spids: [24275]
                )
              ]
              spids: [24275]
            )
            (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 '\\"'>) (X) 
                        (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (Lit_LBrace '{') ($ VSub_Name '$shlibpath_var') (Lit_RBrace '}') 
                        (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                      } {(EscapedLiteralPart token:<Lit_EscapedChar '\\|'>)} 
                      {(EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (Xsed)} {(-e)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (s/) (Lit_Other ':') (/)} 
                      {(/g) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) 
                        (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>)
                      }
                    )
                  ]
                  spids: [16777215 24293]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:shlib_search_path)
                      op: Equal
                      rhs: {(EmptyPart)}
                      spids: [24335]
                    )
                  ]
                  spids: [24335]
                )
              ]
              spids: [24332 24338]
            )
            (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_dirname)} {(DQ ($ VSub_Name '$output'))} {(DQ (/))} {(DQ )})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:output_objdir)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$func_dirname_result') ($ VSub_Name '$objdir'))}
                  spids: [24372]
                )
              ]
              spids: [24372]
            )
            (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: [24402 24404 24414 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*') (.) ($ VSub_Name '$libext')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:linkmode)
                          op: Equal
                          rhs: {(oldlib)}
                          spids: [24422]
                        )
                      ]
                      spids: [24422]
                    )
                  ]
                  spids: [24417 24420 24425 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*') (.lo)} {(Lit_Other '*') (.) ($ VSub_Name '$objext')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:linkmode)
                          op: Equal
                          rhs: {(obj)}
                          spids: [24438]
                        )
                      ]
                      spids: [24438]
                    )
                  ]
                  spids: [24428 24436 24441 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*') (.la)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:linkmode)
                          op: Equal
                          rhs: {(lib)}
                          spids: [24448]
                        )
                      ]
                      spids: [24448]
                    )
                  ]
                  spids: [24444 24446 24451 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:linkmode)
                          op: Equal
                          rhs: {(prog)}
                          spids: [24457]
                        )
                      ]
                      spids: [24457]
                    )
                  ]
                  spids: [24454 24455 24460 16777215]
                )
              ]
              spids: [24395 24399 24466]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:specialdeplibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [24470]
                )
              ]
              spids: [24470]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libs) op:Equal rhs:{(EmptyPart)} spids:[24474])]
              spids: [24474]
            )
            (ForEach
              iter_name: deplib
              iter_words: [{($ VSub_Name '$deplibs')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {($ VSub_Name '$opt_duplicate_deps')})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Case
                              to_match: {(DQ ($ VSub_Name '$libs') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$deplib') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:specialdeplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$specialdeplibs') (' ') 
                                                ($ VSub_Name '$deplib')
                                              )
                                            }
                                          spids: [24525]
                                        )
                                      ]
                                      spids: [24525]
                                    )
                                  ]
                                  spids: [24516 24523 24532 16777215]
                                )
                              ]
                              spids: [24506 24513 24535]
                            )
                          ]
                          spids: [16777215 24503]
                        )
                      ]
                      spids: [16777215 24538]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:libs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$libs') (' ') ($ VSub_Name '$deplib'))}
                          spids: [24541]
                        )
                      ]
                      spids: [24541]
                    )
                  ]
                  spids: [24494 24549]
                )
              spids: [24490 24492]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} {(Lit_Other '=')} {(lib)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:libs)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$predeps') (' ') ($ VSub_Name '$libs') (' ') 
                                ($ VSub_Name '$compiler_lib_search_path') (' ') ($ VSub_Name '$postdeps')
                              )
                            }
                          spids: [24569]
                        )
                      ]
                      spids: [24569]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pre_post_deps)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [24594]
                        )
                      ]
                      spids: [24594]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {($ VSub_Name '$opt_duplicate_compiler_generated_deps')})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (ForEach
                              iter_name: pre_post_dep
                              iter_words: [{($ VSub_Name '$predeps')} {($ VSub_Name '$postdeps')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {(DQ ($ VSub_Name '$pre_post_deps') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') 
                                              (DQ (' ') ($ VSub_Name '$pre_post_dep') (' ')) (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:specialdeplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$specialdeplibs') (' ') 
                                                        ($ VSub_Name '$pre_post_deps')
                                                      )
                                                    }
                                                  spids: [24638]
                                                )
                                              ]
                                              spids: [24638]
                                            )
                                          ]
                                          spids: [24629 24636 24645 16777215]
                                        )
                                      ]
                                      spids: [24619 24626 24648]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:pre_post_deps)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$pre_post_deps') (' ') 
                                                ($ VSub_Name '$pre_post_dep')
                                              )
                                            }
                                          spids: [24651]
                                        )
                                      ]
                                      spids: [24651]
                                    )
                                  ]
                                  spids: [24616 24659]
                                )
                              spids: [24610 24614]
                            )
                          ]
                          spids: [16777215 24602]
                        )
                      ]
                      spids: [16777215 24662]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pre_post_deps)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [24665]
                        )
                      ]
                      spids: [24665]
                    )
                  ]
                  spids: [16777215 24566]
                )
              ]
              spids: [16777215 24668]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:deplibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [24672]
                )
              ]
              spids: [24672]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:newdependency_libs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [24675]
                )
              ]
              spids: [24675]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:newlib_search_path)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [24678]
                )
              ]
              spids: [24678]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:need_relink) op:Equal rhs:{(no)} spids:[24681])]
              spids: [24681]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:notinst_deplibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [24688]
                )
              ]
              spids: [24688]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:notinst_path)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [24694]
                )
              ]
              spids: [24694]
            )
            (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: [24712]
                        )
                      ]
                      spids: [24712]
                    )
                    (ForEach
                      iter_name: file
                      iter_words: [{($ VSub_Name '$dlfiles')} {($ VSub_Name '$dlprefiles')}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name '$file')}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (.la)}]
                                  spids: [24739 24741 24743 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_fatal_help)} 
                                      {
                                        (DQ ('libraries can ') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\`'>
                                          ) ("-dlopen' only libtool libraries: ") ($ VSub_Name '$file')
                                        )
                                      }
                                    )
                                  ]
                                  spids: [24746 24747 24760 16777215]
                                )
                              ]
                              spids: [24732 24736 24763]
                            )
                          ]
                          spids: [24729 24766]
                        )
                      spids: [24723 24727]
                    )
                  ]
                  spids: [24708 24709 24769 16777215]
                )
                (case_arm
                  pat_list: [{(prog)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_deplibs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [24776]
                        )
                      ]
                      spids: [24776]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_deplibs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [24779]
                        )
                      ]
                      spids: [24779]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:alldeplibs)
                          op: Equal
                          rhs: {(no)}
                          spids: [24782]
                        )
                      ]
                      spids: [24782]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:newdlfiles)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [24786]
                        )
                      ]
                      spids: [24786]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:newdlprefiles)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [24789]
                        )
                      ]
                      spids: [24789]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:passes)
                          op: Equal
                          rhs: {(DQ ('conv scan dlopen dlpreopen link'))}
                          spids: [24792]
                        )
                      ]
                      spids: [24792]
                    )
                  ]
                  spids: [24772 24773 24798 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:passes)
                          op: Equal
                          rhs: {(DQ (conv))}
                          spids: [24804]
                        )
                      ]
                      spids: [24804]
                    )
                  ]
                  spids: [24801 24802 24810 16777215]
                )
              ]
              spids: [24701 24705 24813]
            )
            (ForEach
              iter_name: pass
              iter_words: [{($ VSub_Name '$passes')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$linkmode') (',') ($ VSub_Name '$pass'))} 
                                  {(Lit_Other '=')} {(DQ ('lib,link'))}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tmp_deplibs)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [24865]
                                )
                              ]
                              spids: [24865]
                            )
                            (ForEach
                              iter_name: deplib
                              iter_words: [{($ VSub_Name '$deplibs')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                ($ VSub_Name '$tmp_deplibs')
                                              )
                                            }
                                          spids: [24880]
                                        )
                                      ]
                                      spids: [24880]
                                    )
                                  ]
                                  spids: [24877 24888]
                                )
                              spids: [24873 24875]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$tmp_deplibs'))}
                                  spids: [24891]
                                )
                              ]
                              spids: [24891]
                            )
                          ]
                          spids: [16777215 24854]
                        )
                      ]
                      spids: [16777215 24897]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(test)} 
                                      {(DQ ($ VSub_Name '$linkmode') (',') ($ VSub_Name '$pass'))} {(Lit_Other '=')} {(DQ ('lib,link'))}
                                    )
                                    (C {(test)} 
                                      {(DQ ($ VSub_Name '$linkmode') (',') ($ VSub_Name '$pass'))} {(Lit_Other '=')} {(DQ ('prog,scan'))}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$deplibs'))}
                                  spids: [24938]
                                )
                              ]
                              spids: [24938]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [24944]
                                )
                              ]
                              spids: [24944]
                            )
                          ]
                          spids: [16777215 24935]
                        )
                      ]
                      spids: [16777215 24947]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} {(Lit_Other '=')} {(prog)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Case
                              to_match: {($ VSub_Name '$pass')}
                              arms: [
                                (case_arm
                                  pat_list: [{(dlopen)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:libs)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$dlfiles'))}
                                          spids: [24976]
                                        )
                                      ]
                                      spids: [24976]
                                    )
                                  ]
                                  spids: [24973 24974 24981 16777215]
                                )
                                (case_arm
                                  pat_list: [{(dlpreopen)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:libs)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$dlprefiles'))}
                                          spids: [24987]
                                        )
                                      ]
                                      spids: [24987]
                                    )
                                  ]
                                  spids: [24984 24985 24992 16777215]
                                )
                                (case_arm
                                  pat_list: [{(link)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:libs)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$deplibs') (' %DEPLIBS%'))}
                                          spids: [24999]
                                        )
                                      ]
                                      spids: [24999]
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(DQ (X) ($ VSub_Name '$link_all_deplibs'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} {(Xno)}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:libs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$libs') (' ') 
                                                    ($ VSub_Name '$dependency_libs')
                                                  )
                                                }
                                              spids: [25020]
                                            )
                                          ]
                                          spids: [25020]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [24995 24996 25028 16777215]
                                )
                              ]
                              spids: [24966 24970 25031]
                            )
                          ]
                          spids: [16777215 24963]
                        )
                      ]
                      spids: [16777215 25034]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$linkmode') (',') ($ VSub_Name '$pass'))} 
                                  {(Lit_Other '=')} {(DQ ('lib,dlpreopen'))}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (ForEach
                              iter_name: lib
                              iter_words: [{($ VSub_Name '$dlprefiles')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dependency_libs)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [25077]
                                        )
                                      ]
                                      spids: [25077]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name '$lib')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other '*') (.la)}]
                                          action: [(C {(func_source)} {(DQ ($ VSub_Name '$lib'))})]
                                          spids: [25087 25089 25097 16777215]
                                        )
                                      ]
                                      spids: [25080 25084 25100]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name '$dependency_libs')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:deplib_base)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {($ VSub_Name '$ECHO')} 
                                                                    {
                                                                      (DQ (X) ($ VSub_Name '$deplib'))
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                                    {(DQ ($ VSub_Name '$basename'))}
                                                                  )
                                                                ]
                                                                negated: F
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [25125 25142]
                                                      )
                                                    }
                                                  spids: [25124]
                                                )
                                              ]
                                              spids: [25124]
                                            )
                                            (Case
                                              to_match: {(DQ (' ') ($ VSub_Name '$weak_libs') (' '))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$deplib_base') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [25156 25163 25165 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplibs') (' ') 
                                                                ($ VSub_Name '$deplib')
                                                              )
                                                            }
                                                          spids: [25171]
                                                        )
                                                      ]
                                                      spids: [25171]
                                                    )
                                                  ]
                                                  spids: [25168 25169 25178 16777215]
                                                )
                                              ]
                                              spids: [25145 25153 25181]
                                            )
                                          ]
                                          spids: [25121 25184]
                                        )
                                      spids: [25117 25119]
                                    )
                                  ]
                                  spids: [25070 25187]
                                )
                              spids: [25066 25068]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$dlprefiles'))}
                                  spids: [25190]
                                )
                              ]
                              spids: [25190]
                            )
                          ]
                          spids: [16777215 25054]
                        )
                      ]
                      spids: [16777215 25196]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$pass'))} {(Lit_Other '=')} {(dlopen)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:save_deplibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$deplibs'))}
                                  spids: [25219]
                                )
                              ]
                              spids: [25219]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [25225]
                                )
                              ]
                              spids: [25225]
                            )
                          ]
                          spids: [16777215 25212]
                        )
                      ]
                      spids: [16777215 25228]
                    )
                    (ForEach
                      iter_name: deplib
                      iter_words: [{($ VSub_Name '$libs')}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lib)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [25244]
                                )
                              ]
                              spids: [25244]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:found)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [25247]
                                )
                              ]
                              spids: [25247]
                            )
                            (Case
                              to_match: {($ VSub_Name '$deplib')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(-mt)}
                                    {(-mthreads)}
                                    {(-kthread)}
                                    {(-Kthread)}
                                    {(-pthread)}
                                    {(-pthreads)}
                                    {(--thread-safe)}
                                    {(-threads)}
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} 
                                                  {
                                                    (DQ ($ VSub_Name '$linkmode') (',') 
                                                      ($ VSub_Name '$pass')
                                                    )
                                                  } {(Lit_Other '=')} {(DQ ('prog,link'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:compile_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$compile_deplibs')
                                                      )
                                                    }
                                                  spids: [25296]
                                                )
                                              ]
                                              spids: [25296]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$finalize_deplibs')
                                                      )
                                                    }
                                                  spids: [25304]
                                                )
                                              ]
                                              spids: [25304]
                                            )
                                          ]
                                          spids: [16777215 25293]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:compiler_flags)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$compiler_flags') (' ') 
                                                    ($ VSub_Name '$deplib')
                                                  )
                                                }
                                              spids: [25315]
                                            )
                                          ]
                                          spids: [25315]
                                        )
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                      {(Lit_Other '=')} {(lib)}
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (Case
                                                  to_match: 
                                                    {
                                                      (DQ ($ VSub_Name '$new_inherited_linker_flags') 
                                                        (' ')
                                                      )
                                                    }
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [
                                                        {(Lit_Other '*') 
                                                          (DQ (' ') ($ VSub_Name '$deplib') (' ')) (Lit_Other '*')
                                                        }
                                                      ]
                                                      spids: [25350 25357 25359 16777215]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: 
                                                                (LhsName
                                                                  name: new_inherited_linker_flags
                                                                )
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ 
                                                                    ($ VSub_Name 
'$new_inherited_linker_flags'
                                                                    ) (' ') ($ VSub_Name '$deplib')
                                                                  )
                                                                }
                                                              spids: [25366]
                                                            )
                                                          ]
                                                          spids: [25366]
                                                        )
                                                      ]
                                                      spids: [25362 25364 25373 16777215]
                                                    )
                                                  ]
                                                  spids: [25340 25347 25376]
                                                )
                                              ]
                                              spids: [16777215 25337]
                                            )
                                          ]
                                          spids: [16777215 25379]
                                        )
                                      ]
                                      spids: [25312 25382]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [25258 25273 25388 16777215]
                                )
                                (case_arm
                                  pat_list: [{(-l) (Lit_Other '*')}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                      {(KW_Bang '!') (Lit_Other '=')} {(lib)}
                                                    )
                                                    (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                      {(KW_Bang '!') (Lit_Other '=')} {(prog)}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_warning)} 
                                              {
                                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                                  ("-l' is ignored for archives/objects")
                                                )
                                              }
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [16777215 25423]
                                        )
                                      ]
                                      spids: [16777215 25437]
                                    )
                                    (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: [25454]
                                        )
                                      ]
                                      spids: [25454]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                  {(Lit_Other '=')} {(lib)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:searchdirs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$newlib_search_path') (' ') 
                                                        ($ VSub_Name '$lib_search_path') (' ') ($ VSub_Name '$compiler_lib_search_dirs') (' ') ($ VSub_Name '$sys_lib_search_path') (' ') 
                                                        ($ VSub_Name '$shlib_search_path')
                                                      )
                                                    }
                                                  spids: [25474]
                                                )
                                              ]
                                              spids: [25474]
                                            )
                                          ]
                                          spids: [16777215 25471]
                                        )
                                      ]
                                      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: [25491]
                                            )
                                          ]
                                          spids: [25491]
                                        )
                                      ]
                                      spids: [25488 25503]
                                    )
                                    (ForEach
                                      iter_name: searchdir
                                      iter_words: [{($ VSub_Name '$searchdirs')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (ForEach
                                              iter_name: search_ext
                                              iter_words: [
                                                {(.la)}
                                                {($ VSub_Name '$std_shrext')}
                                                {(.so)}
                                                {(.a)}
                                              ]
                                              do_arg_iter: F
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:lib)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$searchdir') (/lib) 
                                                                (${ VSub_Name name) (${ VSub_Name search_ext)
                                                              )
                                                            }
                                                          spids: [25540]
                                                        )
                                                      ]
                                                      spids: [25540]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(-f)} 
                                                                  {(DQ ($ VSub_Name '$lib'))}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
'$search_ext'
                                                                              )
                                                                            )
                                                                          } {(Lit_Other '=')} {(DQ (.la))}
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:found)
                                                                          op: Equal
                                                                          rhs: {(yes)}
                                                                          spids: [25585]
                                                                        )
                                                                      ]
                                                                      spids: [25585]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 25582]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:found)
                                                                      op: Equal
                                                                      rhs: {(no)}
                                                                      spids: [25592]
                                                                    )
                                                                  ]
                                                                  spids: [25592]
                                                                )
                                                              ]
                                                              spids: [25589 25596]
                                                            )
                                                            (ControlFlow
                                                              token: <ControlFlow_Break break>
                                                              arg_word: {(2)}
                                                            )
                                                          ]
                                                          spids: [16777215 25564]
                                                        )
                                                      ]
                                                      spids: [16777215 25604]
                                                    )
                                                  ]
                                                  spids: [25533 25607]
                                                )
                                              spids: [25523 25531]
                                            )
                                          ]
                                          spids: [25515 25610]
                                        )
                                      spids: [25511 25513]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$found'))} 
                                                  {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {
                                                            (DQ ($ VSub_Name '$linkmode') (',') 
                                                              ($ VSub_Name '$pass')
                                                            )
                                                          } {(Lit_Other '=')} {(DQ ('prog,link'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:compile_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$compile_deplibs')
                                                              )
                                                            }
                                                          spids: [25654]
                                                        )
                                                      ]
                                                      spids: [25654]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:finalize_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$finalize_deplibs')
                                                              )
                                                            }
                                                          spids: [25662]
                                                        )
                                                      ]
                                                      spids: [25662]
                                                    )
                                                  ]
                                                  spids: [16777215 25651]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$deplib') (' ') 
                                                            ($ VSub_Name '$deplibs')
                                                          )
                                                        }
                                                      spids: [25673]
                                                    )
                                                  ]
                                                  spids: [25673]
                                                )
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                      {(Lit_Other '=')} {(lib)}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:newdependency_libs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$newdependency_libs')
                                                              )
                                                            }
                                                          spids: [25693]
                                                        )
                                                      ]
                                                      spids: [25693]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [25670 25701]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [16777215 25627]
                                        )
                                      ]
                                      else_action: [
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (C {(test)} 
                                                      {
                                                        (DQ (X) 
                                                          ($ VSub_Name 
'$allow_libtool_libs_with_static_runtimes'
                                                          )
                                                        )
                                                      } {(Lit_Other '=')} {(DQ (Xyes))}
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (Case
                                                  to_match: 
                                                    {
                                                      (DQ (' ') ($ VSub_Name '$predeps') (' ') 
                                                        ($ VSub_Name '$postdeps') (' ')
                                                      )
                                                    }
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [
                                                        {(Lit_Other '*') 
                                                          (DQ (' ') ($ VSub_Name '$deplib') (' ')) (Lit_Other '*')
                                                        }
                                                      ]
                                                      action: [
                                                        (If
                                                          arms: [
                                                            (if_arm
                                                              cond: [
                                                                (Sentence
                                                                  child: 
                                                                    (C {(func_lalib_p)} 
                                                                      {(DQ ($ VSub_Name '$lib'))}
                                                                    )
                                                                  terminator: <Op_Semi ';'>
                                                                )
                                                              ]
                                                              action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: 
                                                                        (LhsName
                                                                          name: library_names
                                                                        )
                                                                      op: Equal
                                                                      rhs: {(EmptyPart)}
                                                                      spids: [25776]
                                                                    )
                                                                  ]
                                                                  spids: [25776]
                                                                )
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:old_library)
                                                                      op: Equal
                                                                      rhs: {(EmptyPart)}
                                                                      spids: [25779]
                                                                    )
                                                                  ]
                                                                  spids: [25779]
                                                                )
                                                                (C {(func_source)} 
                                                                  {(DQ ($ VSub_Name '$lib'))}
                                                                )
                                                                (ForEach
                                                                  iter_name: l
                                                                  iter_words: [
                                                                    {($ VSub_Name '$old_library')}
                                                                    {($ VSub_Name '$library_names')}
                                                                  ]
                                                                  do_arg_iter: F
                                                                  body: 
                                                                    (DoGroup
                                                                      children: [
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: (LhsName name:ll)
                                                                              op: Equal
                                                                              rhs: 
                                                                                {
                                                                                  (DQ 
                                                                                    ($ VSub_Name '$l')
                                                                                  )
                                                                                }
                                                                              spids: [25803]
                                                                            )
                                                                          ]
                                                                          spids: [25803]
                                                                        )
                                                                      ]
                                                                      spids: [25800 25809]
                                                                    )
                                                                  spids: [25794 25798]
                                                                )
                                                                (If
                                                                  arms: [
                                                                    (if_arm
                                                                      cond: [
                                                                        (Sentence
                                                                          child: 
                                                                            (C {(test)} 
                                                                              {
                                                                                (DQ (X) 
                                                                                  ($ VSub_Name '$ll')
                                                                                )
                                                                              } {(Lit_Other '=')} {(DQ (X) ($ VSub_Name '$old_library'))}
                                                                            )
                                                                          terminator: <Op_Semi ';'>
                                                                        )
                                                                      ]
                                                                      action: [
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (LhsName
                                                                                  name: found
                                                                                )
                                                                              op: Equal
                                                                              rhs: {(no)}
                                                                              spids: [25836]
                                                                            )
                                                                          ]
                                                                          spids: [25836]
                                                                        )
                                                                        (C {(func_dirname)} 
                                                                          {(DQ ($ VSub_Name '$lib'))} {(DQ )} {(DQ (.))}
                                                                        )
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (LhsName
                                                                                  name: ladir
                                                                                )
                                                                              op: Equal
                                                                              rhs: 
                                                                                {
                                                                                  (DQ 
                                                                                    ($ VSub_Name 
'$func_dirname_result'
                                                                                    )
                                                                                  )
                                                                                }
                                                                              spids: [25854]
                                                                            )
                                                                          ]
                                                                          spids: [25854]
                                                                        )
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: (LhsName name:lib)
                                                                              op: Equal
                                                                              rhs: 
                                                                                {
                                                                                  ($ VSub_Name 
'$ladir'
                                                                                  ) (/) ($ VSub_Name '$old_library')
                                                                                }
                                                                              spids: [25860]
                                                                            )
                                                                          ]
                                                                          spids: [25860]
                                                                        )
                                                                        (If
                                                                          arms: [
                                                                            (if_arm
                                                                              cond: [
                                                                                (Sentence
                                                                                  child: 
                                                                                    (C {(test)} 
                                                                                      {
                                                                                        (DQ 
                                                                                          ($ 
VSub_Name '$linkmode'
                                                                                          ) (',') ($ VSub_Name '$pass')
                                                                                        )
                                                                                      } {(Lit_Other '=')} {(DQ ('prog,link'))}
                                                                                    )
                                                                                  terminator: 
                                                                                    <Op_Semi ';'>
                                                                                )
                                                                              ]
                                                                              action: [
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: 
compile_deplibs
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (DQ 
                                                                                            ($ 
VSub_Name '$deplib'
                                                                                            ) (' ') ($ VSub_Name '$compile_deplibs')
                                                                                          )
                                                                                        }
                                                                                      spids: [25886]
                                                                                    )
                                                                                  ]
                                                                                  spids: [25886]
                                                                                )
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: 
finalize_deplibs
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (DQ 
                                                                                            ($ 
VSub_Name '$deplib'
                                                                                            ) (' ') ($ VSub_Name '$finalize_deplibs')
                                                                                          )
                                                                                        }
                                                                                      spids: [25894]
                                                                                    )
                                                                                  ]
                                                                                  spids: [25894]
                                                                                )
                                                                              ]
                                                                              spids: [16777215 25883]
                                                                            )
                                                                          ]
                                                                          else_action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: deplibs
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
'$deplib'
                                                                                        ) (' ') ($ VSub_Name '$deplibs')
                                                                                      )
                                                                                    }
                                                                                  spids: [25905]
                                                                                )
                                                                              ]
                                                                              spids: [25905]
                                                                            )
                                                                            (AndOr
                                                                              ops: [Op_DAmp]
                                                                              children: [
                                                                                (C {(test)} 
                                                                                  {
                                                                                    (DQ 
                                                                                      ($ VSub_Name 
'$linkmode'
                                                                                      )
                                                                                    )
                                                                                  } {(Lit_Other '=')} {(lib)}
                                                                                )
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: 
newdependency_libs
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (DQ 
                                                                                            ($ 
VSub_Name '$deplib'
                                                                                            ) (' ') ($ VSub_Name '$newdependency_libs')
                                                                                          )
                                                                                        }
                                                                                      spids: [25925]
                                                                                    )
                                                                                  ]
                                                                                  spids: [25925]
                                                                                )
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [25902 25933]
                                                                        )
                                                                        (ControlFlow
                                                                          token: 
                                                                            <ControlFlow_Continue 
continue
                                                                            >
                                                                        )
                                                                      ]
                                                                      spids: [16777215 25830]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 25939]
                                                                )
                                                              ]
                                                              spids: [16777215 25773]
                                                            )
                                                          ]
                                                          spids: [16777215 25942]
                                                        )
                                                      ]
                                                      spids: [25754 25761 25945 16777215]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      spids: [25948 25949 25951 16777215]
                                                    )
                                                  ]
                                                  spids: [25741 25751 25954]
                                                )
                                              ]
                                              spids: [16777215 25738]
                                            )
                                          ]
                                          spids: [16777215 25957]
                                        )
                                      ]
                                      spids: [25707 25960]
                                    )
                                  ]
                                  spids: [25391 25393 25963 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (.ltframework)}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} 
                                                  {
                                                    (DQ ($ VSub_Name '$linkmode') (',') 
                                                      ($ VSub_Name '$pass')
                                                    )
                                                  } {(Lit_Other '=')} {(DQ ('prog,link'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:compile_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$compile_deplibs')
                                                      )
                                                    }
                                                  spids: [25994]
                                                )
                                              ]
                                              spids: [25994]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$finalize_deplibs')
                                                      )
                                                    }
                                                  spids: [26002]
                                                )
                                              ]
                                              spids: [26002]
                                            )
                                          ]
                                          spids: [16777215 25991]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:deplibs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$deplib') (' ') 
                                                    ($ VSub_Name '$deplibs')
                                                  )
                                                }
                                              spids: [26013]
                                            )
                                          ]
                                          spids: [26013]
                                        )
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                      {(Lit_Other '=')} {(lib)}
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (Case
                                                  to_match: 
                                                    {
                                                      (DQ ($ VSub_Name '$new_inherited_linker_flags') 
                                                        (' ')
                                                      )
                                                    }
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [
                                                        {(Lit_Other '*') 
                                                          (DQ (' ') ($ VSub_Name '$deplib') (' ')) (Lit_Other '*')
                                                        }
                                                      ]
                                                      spids: [26048 26055 26057 16777215]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: 
                                                                (LhsName
                                                                  name: new_inherited_linker_flags
                                                                )
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ 
                                                                    ($ VSub_Name 
'$new_inherited_linker_flags'
                                                                    ) (' ') ($ VSub_Name '$deplib')
                                                                  )
                                                                }
                                                              spids: [26064]
                                                            )
                                                          ]
                                                          spids: [26064]
                                                        )
                                                      ]
                                                      spids: [26060 26062 26071 16777215]
                                                    )
                                                  ]
                                                  spids: [26038 26045 26074]
                                                )
                                              ]
                                              spids: [16777215 26035]
                                            )
                                          ]
                                          spids: [16777215 26077]
                                        )
                                      ]
                                      spids: [26010 26080]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [25969 25971 26086 16777215]
                                )
                                (case_arm
                                  pat_list: [{(-L) (Lit_Other '*')}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name '$linkmode')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(lib)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$deplibs')
                                                      )
                                                    }
                                                  spids: [26105]
                                                )
                                              ]
                                              spids: [26105]
                                            )
                                            (AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {(test)} {(DQ ($ VSub_Name '$pass'))} 
                                                  {(Lit_Other '=')} {(conv)}
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Continue continue>
                                                )
                                              ]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdependency_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$newdependency_libs')
                                                      )
                                                    }
                                                  spids: [26128]
                                                )
                                              ]
                                              spids: [26128]
                                            )
                                            (C {(func_stripname)} {(SQ <-L>)} {(SQ )} 
                                              {(DQ ($ VSub_Name '$deplib'))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newlib_search_path)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$newlib_search_path') (' ') 
                                                        ($ VSub_Name '$func_stripname_result')
                                                      )
                                                    }
                                                  spids: [26150]
                                                )
                                              ]
                                              spids: [26150]
                                            )
                                          ]
                                          spids: [26101 26102 26158 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(prog)}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$pass'))} 
                                                          {(Lit_Other '=')} {(conv)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$deplibs')
                                                              )
                                                            }
                                                          spids: [26181]
                                                        )
                                                      ]
                                                      spids: [26181]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Continue continue>
                                                    )
                                                  ]
                                                  spids: [16777215 26178]
                                                )
                                              ]
                                              spids: [16777215 26192]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$pass'))} 
                                                          {(Lit_Other '=')} {(scan)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$deplibs')
                                                              )
                                                            }
                                                          spids: [26211]
                                                        )
                                                      ]
                                                      spids: [26211]
                                                    )
                                                  ]
                                                  spids: [16777215 26208]
                                                )
                                              ]
                                              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: [26222]
                                                    )
                                                  ]
                                                  spids: [26222]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:finalize_deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$deplib') (' ') 
                                                            ($ VSub_Name '$finalize_deplibs')
                                                          )
                                                        }
                                                      spids: [26230]
                                                    )
                                                  ]
                                                  spids: [26230]
                                                )
                                              ]
                                              spids: [26219 26238]
                                            )
                                            (C {(func_stripname)} {(SQ <-L>)} {(SQ )} 
                                              {(DQ ($ VSub_Name '$deplib'))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newlib_search_path)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$newlib_search_path') (' ') 
                                                        ($ VSub_Name '$func_stripname_result')
                                                      )
                                                    }
                                                  spids: [26255]
                                                )
                                              ]
                                              spids: [26255]
                                            )
                                          ]
                                          spids: [26161 26162 26263 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_warning)} 
                                              {
                                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                                  ("-L' is ignored for archives/objects")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [26266 26267 26278 16777215]
                                        )
                                      ]
                                      spids: [26094 26098 26281]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [26089 26091 26290 16777215]
                                )
                                (case_arm
                                  pat_list: [{(-R) (Lit_Other '*')}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$pass'))} 
                                                  {(Lit_Other '=')} {(link)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_stripname)} {(SQ <-R>)} {(SQ )} 
                                              {(DQ ($ VSub_Name '$deplib'))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dir)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                                  spids: [26331]
                                                )
                                              ]
                                              spids: [26331]
                                            )
                                            (Case
                                              to_match: {(DQ ($ VSub_Name '$xrpath') (' '))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$dir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [26349 26356 26358 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:xrpath)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$xrpath') (' ') 
                                                                ($ VSub_Name '$dir')
                                                              )
                                                            }
                                                          spids: [26364]
                                                        )
                                                      ]
                                                      spids: [26364]
                                                    )
                                                  ]
                                                  spids: [26361 26362 26371 16777215]
                                                )
                                              ]
                                              spids: [26339 26346 26374]
                                            )
                                          ]
                                          spids: [16777215 26314]
                                        )
                                      ]
                                      spids: [16777215 26377]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                ($ VSub_Name '$deplibs')
                                              )
                                            }
                                          spids: [26380]
                                        )
                                      ]
                                      spids: [26380]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [26296 26298 26391 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (.la)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lib)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$deplib'))}
                                          spids: [26398]
                                        )
                                      ]
                                      spids: [26398]
                                    )
                                  ]
                                  spids: [26394 26396 26403 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (.) ($ VSub_Name '$libext')}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$pass'))} 
                                                  {(Lit_Other '=')} {(conv)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$deplibs')
                                                      )
                                                    }
                                                  spids: [26428]
                                                )
                                              ]
                                              spids: [26428]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [16777215 26425]
                                        )
                                      ]
                                      spids: [16777215 26439]
                                    )
                                    (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: [26472 26479 26481 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:valid_a_lib)
                                                          op: Equal
                                                          rhs: {(no)}
                                                          spids: [26488]
                                                        )
                                                      ]
                                                      spids: [26488]
                                                    )
                                                    (Case
                                                      to_match: 
                                                        {($ VSub_Name '$deplibs_check_method')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(match_pattern) (Lit_Other '*')}]
                                                          action: [
                                                            (Sentence
                                                              child: 
                                                                (C {(set)} {(dummy)} 
                                                                  {
                                                                    ($ VSub_Name 
'$deplibs_check_method'
                                                                    )
                                                                  }
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                            (C {(shift)})
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (LhsName
                                                                      name: match_pattern_regex
                                                                    )
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (C {(expr)} 
                                                                                {
                                                                                  (DQ 
                                                                                    ($ VSub_Name 
'$deplibs_check_method'
                                                                                    )
                                                                                  )
                                                                                } {(Lit_Other ':')} {(DQ ($ VSub_Number '$1') (' ') (Lit_Other '\\') ('(.*') (Lit_Other '\\') (')'))}
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick '`'>
                                                                        spids: [26515 26532]
                                                                      )
                                                                    }
                                                                  spids: [26514]
                                                                )
                                                              ]
                                                              spids: [26514]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (Pipeline
                                                                          children: [
                                                                            (SimpleCommand
                                                                              words: [
                                                                                {(eval)}
                                                                                {
                                                                                  (DQ 
                                                                                    (EscapedLiteralPart
                                                                                      token: 
                                                                                        <
Lit_EscapedChar '\\$'
                                                                                        >
                                                                                    ) ('ECHO ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (X) ($ VSub_Name '$deplib') 
                                                                                    (EscapedLiteralPart
                                                                                      token: 
                                                                                        <
Lit_EscapedChar '\\"'
                                                                                        >
                                                                                    )
                                                                                  )
                                                                                }
                                                                              ]
                                                                              redirects: [
                                                                                (Redir
                                                                                  op: 
                                                                                    <Redir_Great 
'2>'
                                                                                    >
                                                                                  fd: 2
                                                                                  arg_word: 
                                                                                    {(/dev/null)}
                                                                                )
                                                                              ]
                                                                            )
                                                                            (C {($ VSub_Name '$Xsed')} 
                                                                              {(-e)} {(10q)}
                                                                            )
                                                                            (SimpleCommand
                                                                              words: [
                                                                                {
                                                                                  ($ VSub_Name 
'$EGREP'
                                                                                  )
                                                                                }
                                                                                {
                                                                                  (DQ 
                                                                                    ($ VSub_Name 
'$match_pattern_regex'
                                                                                    )
                                                                                  )
                                                                                }
                                                                              ]
                                                                              redirects: [
                                                                                (Redir
                                                                                  op: 
                                                                                    <Redir_Great 
'>'
                                                                                    >
                                                                                  fd: 16777215
                                                                                  arg_word: 
                                                                                    {(/dev/null)}
                                                                                )
                                                                              ]
                                                                            )
                                                                          ]
                                                                          negated: F
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: valid_a_lib
                                                                            )
                                                                          op: Equal
                                                                          rhs: {(yes)}
                                                                          spids: [26577]
                                                                        )
                                                                      ]
                                                                      spids: [26577]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 26574]
                                                                )
                                                              ]
                                                              spids: [16777215 26581]
                                                            )
                                                          ]
                                                          spids: [26499 26501 26584 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(pass_all)}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:valid_a_lib)
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [26591]
                                                                )
                                                              ]
                                                              spids: [26591]
                                                            )
                                                          ]
                                                          spids: [26587 26588 26595 16777215]
                                                        )
                                                      ]
                                                      spids: [26492 26496 26598]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} 
                                                                  {(DQ ($ VSub_Name '$valid_a_lib'))} {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (C {($ VSub_Name '$ECHO')})
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** Warning: Trying to link with static lib archive '
                                                                  ) ($ VSub_Name '$deplib') (.)
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** I have the capability to make that library automatically link in when'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** you link to this library.  But I can only do this if you have a'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** shared version of the library, which you do not appear to have'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** because the file extensions .'
                                                                  ) ($ VSub_Name '$libext') (' of this argument makes me believe')
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** that it is just a static archive that I should not use here.'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [16777215 26615]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (C {($ VSub_Name '$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: [26691]
                                                            )
                                                          ]
                                                          spids: [26691]
                                                        )
                                                      ]
                                                      spids: [26667 26699]
                                                    )
                                                  ]
                                                  spids: [26484 26485 26702 16777215]
                                                )
                                              ]
                                              spids: [26461 26469 26705]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [26449 26450 26711 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(prog)}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$pass'))} 
                                                          {(KW_Bang '!') (Lit_Other '=')} {(link)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$deplibs')
                                                              )
                                                            }
                                                          spids: [26735]
                                                        )
                                                      ]
                                                      spids: [26735]
                                                    )
                                                  ]
                                                  spids: [16777215 26732]
                                                )
                                              ]
                                              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: [26746]
                                                    )
                                                  ]
                                                  spids: [26746]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:finalize_deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$deplib') (' ') 
                                                            ($ VSub_Name '$finalize_deplibs')
                                                          )
                                                        }
                                                      spids: [26754]
                                                    )
                                                  ]
                                                  spids: [26754]
                                                )
                                              ]
                                              spids: [26743 26762]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [26714 26715 26768 16777215]
                                        )
                                      ]
                                      spids: [26442 26446 26771]
                                    )
                                  ]
                                  spids: [26406 26409 26777 16777215]
                                )
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (.lo)}
                                    {(Lit_Other '*') (.) ($ VSub_Name '$objext')}
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$pass'))} 
                                                  {(Lit_Other '=')} {(conv)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$deplibs')
                                                      )
                                                    }
                                                  spids: [26810]
                                                )
                                              ]
                                              spids: [26810]
                                            )
                                          ]
                                          spids: [16777215 26807]
                                        )
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                  {(Lit_Other '=')} {(prog)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          ops: [Op_DPipe Op_DPipe]
                                                          children: [
                                                            (C {(test)} {(DQ ($ VSub_Name '$pass'))} 
                                                              {(Lit_Other '=')} {(dlpreopen)}
                                                            )
                                                            (C {(test)} 
                                                              {(DQ ($ VSub_Name '$dlopen_support'))} {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                                            )
                                                            (C {(test)} 
                                                              {
                                                                (DQ 
                                                                  ($ VSub_Name '$build_libtool_libs')
                                                                )
                                                              } {(Lit_Other '=')} {(no)}
                                                            )
                                                          ]
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:newdlprefiles)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$newdlprefiles') (' ') 
                                                                ($ VSub_Name '$deplib')
                                                              )
                                                            }
                                                          spids: [26883]
                                                        )
                                                      ]
                                                      spids: [26883]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:compile_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$compile_deplibs')
                                                              )
                                                            }
                                                          spids: [26891]
                                                        )
                                                      ]
                                                      spids: [26891]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:finalize_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$finalize_deplibs')
                                                              )
                                                            }
                                                          spids: [26899]
                                                        )
                                                      ]
                                                      spids: [26899]
                                                    )
                                                  ]
                                                  spids: [16777215 26872]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:newdlfiles)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$newdlfiles') (' ') 
                                                            ($ VSub_Name '$deplib')
                                                          )
                                                        }
                                                      spids: [26910]
                                                    )
                                                  ]
                                                  spids: [26910]
                                                )
                                              ]
                                              spids: [26907 26918]
                                            )
                                          ]
                                          spids: [26818 26831]
                                        )
                                      ]
                                      spids: [16777215 26921]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [26783 26791 26927 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '%') (DEPLIBS) (Lit_Other '%')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:alldeplibs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [26936]
                                        )
                                      ]
                                      spids: [26936]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [26930 26933 26943 16777215]
                                )
                              ]
                              spids: [25251 25255 26946]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DPipe]
                                          children: [
                                            (C {(test)} {(DQ ($ VSub_Name '$found'))} {(Lit_Other '=')} 
                                              {(yes)}
                                            )
                                            (C {(test)} {(-f)} {(DQ ($ VSub_Name '$lib'))})
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [(C {(Lit_Other ':')})]
                                  spids: [16777215 26976]
                                )
                              ]
                              else_action: [
                                (C {(func_fatal_error)} 
                                  {
                                    (DQ ('cannot find the library ') 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\`'>
                                      ) ($ VSub_Name '$lib') ("' or unhandled argument ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ($ VSub_Name '$deplib') ("'")
                                    )
                                  }
                                )
                              ]
                              spids: [26981 26997]
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(func_lalib_unsafe_p)} {(DQ ($ VSub_Name '$lib'))})
                                (C {(func_fatal_error)} 
                                  {
                                    (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ($ VSub_Name '$lib') ("' is not a valid libtool archive")
                                    )
                                  }
                                )
                              ]
                            )
                            (C {(func_dirname)} {(DQ ($ VSub_Name '$lib'))} {(DQ )} {(DQ (.))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ladir)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$func_dirname_result'))}
                                  spids: [27039]
                                )
                              ]
                              spids: [27039]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlname)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [27046]
                                )
                              ]
                              spids: [27046]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlopen)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [27049]
                                )
                              ]
                              spids: [27049]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlpreopen)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [27052]
                                )
                              ]
                              spids: [27052]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libdir)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [27055]
                                )
                              ]
                              spids: [27055]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:library_names)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [27058]
                                )
                              ]
                              spids: [27058]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:old_library)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [27061]
                                )
                              ]
                              spids: [27061]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:inherited_linker_flags)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [27064]
                                )
                              ]
                              spids: [27064]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:installed)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [27075]
                                )
                              ]
                              spids: [27075]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:shouldnotlink)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [27079]
                                )
                              ]
                              spids: [27079]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:avoidtemprpath)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [27083]
                                )
                              ]
                              spids: [27083]
                            )
                            (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 (X) 
                                                                ($ VSub_Name 
'$inherited_linker_flags'
                                                                )
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                            {
                                                              (SQ 
                                                                <
's/-framework \\([^ $]*\\)/\\1.ltframework/g'
                                                                >
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [27119 27136]
                                              )
                                            }
                                          spids: [27118]
                                        )
                                      ]
                                      spids: [27118]
                                    )
                                    (ForEach
                                      iter_name: tmp_inherited_linker_flag
                                      iter_words: [{($ VSub_Name '$tmp_inherited_linker_flags')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (' ') 
                                                    ($ VSub_Name '$new_inherited_linker_flags') (' ')
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') 
                                                        ($ VSub_Name '$tmp_inherited_linker_flag') (' ')
                                                      ) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [27162 27169 27171 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: 
                                                            (LhsName
                                                              name: new_inherited_linker_flags
                                                            )
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
'$new_inherited_linker_flags'
                                                                ) (' ') ($ VSub_Name '$tmp_inherited_linker_flag')
                                                              )
                                                            }
                                                          spids: [27177]
                                                        )
                                                      ]
                                                      spids: [27177]
                                                    )
                                                  ]
                                                  spids: [27174 27175 27183 16777215]
                                                )
                                              ]
                                              spids: [27151 27159 27186]
                                            )
                                          ]
                                          spids: [27148 27189]
                                        )
                                      spids: [27144 27146]
                                    )
                                  ]
                                  spids: [16777215 27115]
                                )
                              ]
                              spids: [16777215 27192]
                            )
                            (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 ('X ') ($ VSub_Name '$dependency_libs'))}
                                                  )
                                                  (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                    {
                                                      (SQ 
                                                        <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [27196 27213]
                                      )
                                    }
                                  spids: [27195]
                                )
                              ]
                              spids: [27195]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DPipe Op_DPipe]
                                          children: [
                                            (C {(test)} 
                                              {
                                                (DQ ($ VSub_Name '$linkmode') (',') 
                                                  ($ VSub_Name '$pass')
                                                )
                                              } {(Lit_Other '=')} {(DQ ('lib,link'))}
                                            )
                                            (C {(test)} 
                                              {
                                                (DQ ($ VSub_Name '$linkmode') (',') 
                                                  ($ VSub_Name '$pass')
                                                )
                                              } {(Lit_Other '=')} {(DQ ('prog,scan'))}
                                            )
                                            (BraceGroup
                                              children: [
                                                (Sentence
                                                  child: 
                                                    (AndOr
                                                      ops: [Op_DAmp]
                                                      children: [
                                                        (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                          {(KW_Bang '!') (Lit_Other '=')} {(prog)}
                                                        )
                                                        (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                          {(KW_Bang '!') (Lit_Other '=')} {(lib)}
                                                        )
                                                      ]
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              spids: [27252]
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dlopen'))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dlfiles)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$dlfiles') (' ') 
                                                    ($ VSub_Name '$dlopen')
                                                  )
                                                }
                                              spids: [27295]
                                            )
                                          ]
                                          spids: [27295]
                                        )
                                      ]
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dlpreopen'))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dlprefiles)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$dlprefiles') (' ') 
                                                    ($ VSub_Name '$dlpreopen')
                                                  )
                                                }
                                              spids: [27313]
                                            )
                                          ]
                                          spids: [27313]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 27282]
                                )
                              ]
                              spids: [16777215 27321]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$pass'))} {(Lit_Other '=')} 
                                          {(conv)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$lib') (' ') ($ VSub_Name '$deplibs'))
                                            }
                                          spids: [27345]
                                        )
                                      ]
                                      spids: [27345]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$libdir'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name '$old_library'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_fatal_error)} 
                                                      {
                                                        (DQ ('cannot find name of link library for ') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\`'>
                                                          ) ($ VSub_Name '$lib') ("'")
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [16777215 27378]
                                                )
                                              ]
                                              spids: [16777215 27391]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:convenience)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$convenience') (' ') 
                                                        ($ VSub_Name '$ladir') (/) ($ VSub_Name '$objdir') (/) ($ VSub_Name '$old_library')
                                                      )
                                                    }
                                                  spids: [27398]
                                                )
                                              ]
                                              spids: [27398]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:old_convenience)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$old_convenience') (' ') 
                                                        ($ VSub_Name '$ladir') (/) ($ VSub_Name '$objdir') (/) ($ VSub_Name '$old_library')
                                                      )
                                                    }
                                                  spids: [27410]
                                                )
                                              ]
                                              spids: [27410]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:tmp_libs)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [27422]
                                                )
                                              ]
                                              spids: [27422]
                                            )
                                            (ForEach
                                              iter_name: deplib
                                              iter_words: [{($ VSub_Name '$dependency_libs')}]
                                              do_arg_iter: F
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$deplibs')
                                                              )
                                                            }
                                                          spids: [27437]
                                                        )
                                                      ]
                                                      spids: [27437]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C 
                                                                  {
                                                                    ($ VSub_Name 
'$opt_duplicate_deps'
                                                                    )
                                                                  }
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Case
                                                              to_match: 
                                                                {
                                                                  (DQ ($ VSub_Name '$tmp_libs') (' '))
                                                                }
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') 
                                                                      (DQ (' ') 
                                                                        ($ VSub_Name '$deplib') (' ')
                                                                      ) (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: specialdeplibs
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name 
'$specialdeplibs'
                                                                                ) (' ') ($ VSub_Name '$deplib')
                                                                              )
                                                                            }
                                                                          spids: [27473]
                                                                        )
                                                                      ]
                                                                      spids: [27473]
                                                                    )
                                                                  ]
                                                                  spids: [27464 27471 27480 16777215]
                                                                )
                                                              ]
                                                              spids: [27454 27461 27483]
                                                            )
                                                          ]
                                                          spids: [16777215 27451]
                                                        )
                                                      ]
                                                      spids: [16777215 27486]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:tmp_libs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$tmp_libs') (' ') 
                                                                ($ VSub_Name '$deplib')
                                                              )
                                                            }
                                                          spids: [27489]
                                                        )
                                                      ]
                                                      spids: [27489]
                                                    )
                                                  ]
                                                  spids: [27434 27497]
                                                )
                                              spids: [27430 27432]
                                            )
                                          ]
                                          spids: [16777215 27364]
                                        )
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                      {(KW_Bang '!') (Lit_Other '=')} {(prog)}
                                                    )
                                                    (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                      {(KW_Bang '!') (Lit_Other '=')} {(lib)}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {
                                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                                  ($ VSub_Name '$lib') ("' is not a convenience library")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [27500 27527]
                                        )
                                      ]
                                      spids: [16777215 27539]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [16777215 27338]
                                )
                              ]
                              spids: [16777215 27545]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:linklib)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [27557]
                                )
                              ]
                              spids: [27557]
                            )
                            (ForEach
                              iter_name: l
                              iter_words: [
                                {($ VSub_Name '$old_library')}
                                {($ VSub_Name '$library_names')}
                              ]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linklib)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$l'))}
                                          spids: [27574]
                                        )
                                      ]
                                      spids: [27574]
                                    )
                                  ]
                                  spids: [27571 27580]
                                )
                              spids: [27565 27569]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$linklib'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_fatal_error)} 
                                      {
                                        (DQ ('cannot find name of link library for ') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\`'>
                                          ) ($ VSub_Name '$lib') ("'")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [16777215 27594]
                                )
                              ]
                              spids: [16777215 27607]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$pass'))} {(Lit_Other '=')} 
                                          {(dlopen)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$libdir'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {
                                                (DQ ('cannot -dlopen a convenience library: ') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\`'>
                                                  ) ($ VSub_Name '$lib') ("'")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [16777215 27642]
                                        )
                                      ]
                                      spids: [16777215 27655]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DPipe Op_DPipe]
                                                  children: [
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name '$dlname'))})
                                                    (C {(test)} {(DQ ($ VSub_Name '$dlopen_support'))} 
                                                      {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                                    )
                                                    (C {(test)} 
                                                      {(DQ ($ VSub_Name '$build_libtool_libs'))} {(Lit_Other '=')} {(no)}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlprefiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$dlprefiles') (' ') 
                                                        ($ VSub_Name '$lib') (' ') ($ VSub_Name '$dependency_libs')
                                                      )
                                                    }
                                                  spids: [27715]
                                                )
                                              ]
                                              spids: [27715]
                                            )
                                          ]
                                          spids: [16777215 27696]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdlfiles)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$newdlfiles') (' ') 
                                                    ($ VSub_Name '$lib')
                                                  )
                                                }
                                              spids: [27728]
                                            )
                                          ]
                                          spids: [27728]
                                        )
                                      ]
                                      spids: [27725 27736]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [16777215 27628]
                                )
                              ]
                              spids: [16777215 27742]
                            )
                            (Case
                              to_match: {($ VSub_Name '$ladir')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '[') 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\\\'>
                                      ) (/) (Lit_Other ']') (Lit_Other '*')
                                    }
                                    {(Lit_Other '[') (A-Za-z) (Lit_Other ']') (Lit_Other ':') 
                                      (Lit_Other '[') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (/) (Lit_Other ']') (Lit_Other '*')
                                    }
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:abs_ladir)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$ladir'))}
                                          spids: [27779]
                                        )
                                      ]
                                      spids: [27779]
                                    )
                                  ]
                                  spids: [27760 27777 27784 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:abs_ladir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (AndOr
                                                        ops: [Op_DAmp]
                                                        children: [
                                                          (C {(cd)} {(DQ ($ VSub_Name '$ladir'))})
                                                          (C {(pwd)})
                                                        ]
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [27792 27802]
                                              )
                                            }
                                          spids: [27791]
                                        )
                                      ]
                                      spids: [27791]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$abs_ladir'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_warning)} 
                                              {
                                                (DQ ('cannot determine absolute directory name of ') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\`'>
                                                  ) ($ VSub_Name '$ladir') ("'")
                                                )
                                              }
                                            )
                                            (C {(func_warning)} 
                                              {
                                                (DQ 
                                                  (
'passing it literally to the linker, although it might fail'
                                                  )
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:abs_ladir)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$ladir'))}
                                                  spids: [27836]
                                                )
                                              ]
                                              spids: [27836]
                                            )
                                          ]
                                          spids: [16777215 27816]
                                        )
                                      ]
                                      spids: [16777215 27842]
                                    )
                                  ]
                                  spids: [27787 27788 27845 16777215]
                                )
                              ]
                              spids: [27753 27757 27848]
                            )
                            (C {(func_basename)} {(DQ ($ VSub_Name '$lib'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:laname)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                                  spids: [27858]
                                )
                              ]
                              spids: [27858]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ (X) ($ VSub_Name '$installed'))} 
                                          {(Lit_Other '=')} {(Xyes)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(KW_Bang '!')} {(-f)} 
                                                      {
                                                        (DQ ($ VSub_Name '$libdir') (/) 
                                                          ($ VSub_Name '$linklib')
                                                        )
                                                      }
                                                    )
                                                    (C {(test)} {(-f)} 
                                                      {
                                                        (DQ ($ VSub_Name '$abs_ladir') (/) 
                                                          ($ VSub_Name '$linklib')
                                                        )
                                                      }
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_warning)} 
                                              {
                                                (DQ ('library ') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\`'>
                                                  ) ($ VSub_Name '$lib') ("' was moved.")
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dir)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$ladir'))}
                                                  spids: [27926]
                                                )
                                              ]
                                              spids: [27926]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:absdir)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$abs_ladir'))}
                                                  spids: [27932]
                                                )
                                              ]
                                              spids: [27932]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libdir)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$abs_ladir'))}
                                                  spids: [27938]
                                                )
                                              ]
                                              spids: [27938]
                                            )
                                          ]
                                          spids: [16777215 27913]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dir)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$libdir'))}
                                              spids: [27947]
                                            )
                                          ]
                                          spids: [27947]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:absdir)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$libdir'))}
                                              spids: [27953]
                                            )
                                          ]
                                          spids: [27953]
                                        )
                                      ]
                                      spids: [27944 27959]
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(DQ (X) ($ VSub_Name '$hardcode_automatic'))} 
                                          {(Lit_Other '=')} {(Xyes)}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:avoidtemprpath)
                                              op: Equal
                                              rhs: {(yes)}
                                              spids: [27975]
                                            )
                                          ]
                                          spids: [27975]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 27883]
                                )
                              ]
                              else_action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {(test)} {(KW_Bang '!')} {(-f)} 
                                                  {
                                                    (DQ ($ VSub_Name '$ladir') (/) 
                                                      ($ VSub_Name '$objdir') (/) ($ VSub_Name '$linklib')
                                                    )
                                                  }
                                                )
                                                (C {(test)} {(-f)} 
                                                  {
                                                    (DQ ($ VSub_Name '$abs_ladir') (/) 
                                                      ($ VSub_Name '$linklib')
                                                    )
                                                  }
                                                )
                                              ]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dir)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$ladir'))}
                                              spids: [28014]
                                            )
                                          ]
                                          spids: [28014]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:absdir)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$abs_ladir'))}
                                              spids: [28020]
                                            )
                                          ]
                                          spids: [28020]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:notinst_path)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$notinst_path') (' ') 
                                                    ($ VSub_Name '$abs_ladir')
                                                  )
                                                }
                                              spids: [28030]
                                            )
                                          ]
                                          spids: [28030]
                                        )
                                      ]
                                      spids: [16777215 28011]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dir)
                                          op: Equal
                                          rhs: 
                                            {(DQ ($ VSub_Name '$ladir') (/) ($ VSub_Name '$objdir'))}
                                          spids: [28041]
                                        )
                                      ]
                                      spids: [28041]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:absdir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$abs_ladir') (/) 
                                                ($ VSub_Name '$objdir')
                                              )
                                            }
                                          spids: [28049]
                                        )
                                      ]
                                      spids: [28049]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:notinst_path)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$notinst_path') (' ') 
                                                ($ VSub_Name '$abs_ladir')
                                              )
                                            }
                                          spids: [28061]
                                        )
                                      ]
                                      spids: [28061]
                                    )
                                  ]
                                  spids: [28038 28069]
                                )
                              ]
                              spids: [27979 28072]
                            )
                            (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: [28093]
                                )
                              ]
                              spids: [28093]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$pass'))} {(Lit_Other '=')} 
                                          {(dlpreopen)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name '$libdir'))})
                                                    (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                      {(Lit_Other '=')} {(prog)}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {
                                                (DQ 
                                                  (
'only libraries may -dlpreopen a convenience library: '
                                                  ) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$lib') ("'")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [16777215 28141]
                                        )
                                      ]
                                      spids: [16777215 28154]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$old_library'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdlprefiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$newdlprefiles') (' ') 
                                                        ($ VSub_Name '$dir') (/) ($ VSub_Name '$old_library')
                                                      )
                                                    }
                                                  spids: [28179]
                                                )
                                              ]
                                              spids: [28179]
                                            )
                                            (AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$libdir'))})
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:dlpreconveniencelibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$dlpreconveniencelibs') 
                                                            (' ') ($ VSub_Name '$dir') (/) ($ VSub_Name '$old_library')
                                                          )
                                                        }
                                                      spids: [28209]
                                                    )
                                                  ]
                                                  spids: [28209]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 28176]
                                        )
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dlname'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdlprefiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$newdlprefiles') (' ') 
                                                        ($ VSub_Name '$dir') (/) ($ VSub_Name '$dlname')
                                                      )
                                                    }
                                                  spids: [28237]
                                                )
                                              ]
                                              spids: [28237]
                                            )
                                          ]
                                          spids: [28223 28234]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdlprefiles)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$newdlprefiles') (' ') 
                                                    ($ VSub_Name '$dir') (/) ($ VSub_Name '$linklib')
                                                  )
                                                }
                                              spids: [28250]
                                            )
                                          ]
                                          spids: [28250]
                                        )
                                      ]
                                      spids: [28247 28260]
                                    )
                                  ]
                                  spids: [16777215 28115]
                                )
                              ]
                              spids: [16777215 28263]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$libdir'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                  {(Lit_Other '=')} {(lib)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$dir') (/) 
                                                        ($ VSub_Name '$old_library') (' ') ($ VSub_Name '$deplibs')
                                                      )
                                                    }
                                                  spids: [28304]
                                                )
                                              ]
                                              spids: [28304]
                                            )
                                          ]
                                          spids: [16777215 28301]
                                        )
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} 
                                                  {
                                                    (DQ ($ VSub_Name '$linkmode') (',') 
                                                      ($ VSub_Name '$pass')
                                                    )
                                                  } {(Lit_Other '=')} {(DQ ('prog,link'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:compile_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$dir') (/) 
                                                        ($ VSub_Name '$old_library') (' ') ($ VSub_Name '$compile_deplibs')
                                                      )
                                                    }
                                                  spids: [28334]
                                                )
                                              ]
                                              spids: [28334]
                                            )
                                            (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: [28344]
                                                )
                                              ]
                                              spids: [28344]
                                            )
                                          ]
                                          spids: [28314 28331]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:deplibs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$lib') (' ') 
                                                    ($ VSub_Name '$deplibs')
                                                  )
                                                }
                                              spids: [28357]
                                            )
                                          ]
                                          spids: [28357]
                                        )
                                      ]
                                      spids: [28354 28368]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [16777215 28281]
                                )
                              ]
                              spids: [16777215 28374]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DAmp]
                                          children: [
                                            (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                              {(Lit_Other '=')} {(prog)}
                                            )
                                            (C {(test)} {(DQ ($ VSub_Name '$pass'))} 
                                              {(KW_Bang '!') (Lit_Other '=')} {(link)}
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:newlib_search_path)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$newlib_search_path') (' ') 
                                                ($ VSub_Name '$ladir')
                                              )
                                            }
                                          spids: [28408]
                                        )
                                      ]
                                      spids: [28408]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$lib') (' ') ($ VSub_Name '$deplibs'))
                                            }
                                          spids: [28416]
                                        )
                                      ]
                                      spids: [28416]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linkalldeplibs)
                                          op: Equal
                                          rhs: {(no)}
                                          spids: [28425]
                                        )
                                      ]
                                      spids: [28425]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DPipe Op_DPipe]
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name '$link_all_deplibs'))} 
                                                      {(KW_Bang '!') (Lit_Other '=')} {(no)}
                                                    )
                                                    (C {(test)} {(-z)} 
                                                      {(DQ ($ VSub_Name '$library_names'))}
                                                    )
                                                    (C {(test)} 
                                                      {(DQ ($ VSub_Name '$build_libtool_libs'))} {(Lit_Other '=')} {(no)}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:linkalldeplibs)
                                                  op: Equal
                                                  rhs: {(yes)}
                                                  spids: [28469]
                                                )
                                              ]
                                              spids: [28469]
                                            )
                                          ]
                                          spids: [16777215 28466]
                                        )
                                      ]
                                      spids: [16777215 28473]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [28477]
                                        )
                                      ]
                                      spids: [28477]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name '$dependency_libs')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {($ VSub_Name '$deplib')}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(-L) (Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_stripname)} {(SQ <-L>)} {(SQ )} 
                                                      {(DQ ($ VSub_Name '$deplib'))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:newlib_search_path)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$newlib_search_path') 
                                                                (' ') ($ VSub_Name '$func_stripname_result')
                                                              )
                                                            }
                                                          spids: [28517]
                                                        )
                                                      ]
                                                      spids: [28517]
                                                    )
                                                  ]
                                                  spids: [28499 28501 28525 16777215]
                                                )
                                              ]
                                              spids: [28492 28496 28528]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {(DQ ($ VSub_Name '$linkalldeplibs'))} {(Lit_Other '=')} {(yes)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$deplibs')
                                                              )
                                                            }
                                                          spids: [28551]
                                                        )
                                                      ]
                                                      spids: [28551]
                                                    )
                                                  ]
                                                  spids: [16777215 28548]
                                                )
                                              ]
                                              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: [28570]
                                                    )
                                                  ]
                                                  spids: [28570]
                                                )
                                              ]
                                              spids: [28559 28578]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: (C {($ VSub_Name '$opt_duplicate_deps')})
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: {(DQ ($ VSub_Name '$tmp_libs') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$deplib') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:specialdeplibs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$specialdeplibs'
                                                                        ) (' ') ($ VSub_Name '$deplib')
                                                                      )
                                                                    }
                                                                  spids: [28609]
                                                                )
                                                              ]
                                                              spids: [28609]
                                                            )
                                                          ]
                                                          spids: [28600 28607 28616 16777215]
                                                        )
                                                      ]
                                                      spids: [28590 28597 28619]
                                                    )
                                                  ]
                                                  spids: [16777215 28587]
                                                )
                                              ]
                                              spids: [16777215 28622]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:tmp_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$tmp_libs') (' ') 
                                                        ($ VSub_Name '$deplib')
                                                      )
                                                    }
                                                  spids: [28625]
                                                )
                                              ]
                                              spids: [28625]
                                            )
                                          ]
                                          spids: [28489 28633]
                                        )
                                      spids: [28485 28487]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [16777215 28405]
                                )
                              ]
                              spids: [16777215 28642]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} 
                                          {
                                            (DQ ($ VSub_Name '$linkmode') (',') ($ VSub_Name '$pass'))
                                          } {(Lit_Other '=')} {(DQ ('prog,link'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$library_names'))}
                                                    )
                                                    (BraceGroup
                                                      children: [
                                                        (Sentence
                                                          child: 
                                                            (AndOr
                                                              ops: [Op_DPipe]
                                                              children: [
                                                                (BraceGroup
                                                                  children: [
                                                                    (Sentence
                                                                      child: 
                                                                        (AndOr
                                                                          ops: [Op_DPipe]
                                                                          children: [
                                                                            (C {(test)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name 
'$prefer_static_libs'
                                                                                  )
                                                                                )
                                                                              } {(Lit_Other '=')} {(no)}
                                                                            )
                                                                            (C {(test)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name 
'$prefer_static_libs'
                                                                                  ) (',') ($ VSub_Name '$installed')
                                                                                )
                                                                              } {(Lit_Other '=')} {(DQ ('built,yes'))}
                                                                            )
                                                                          ]
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  spids: [28684]
                                                                )
                                                                (C {(test)} {(-z)} 
                                                                  {(DQ ($ VSub_Name '$old_library'))}
                                                                )
                                                              ]
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      spids: [28682]
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          ops: [Op_DAmp]
                                                          children: [
                                                            (C {(test)} {(-n)} 
                                                              {(DQ ($ VSub_Name '$shlibpath_var'))}
                                                            )
                                                            (C {(test)} {(-z)} 
                                                              {(DQ ($ VSub_Name '$avoidtemprpath'))}
                                                            )
                                                          ]
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(DQ ($ VSub_Name '$temp_rpath') (':'))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ ($ VSub_Name '$absdir') (':')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [28777 28783 28785 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:temp_rpath)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$temp_rpath') 
                                                                        ($ VSub_Name '$absdir') (':')
                                                                      )
                                                                    }
                                                                  spids: [28791]
                                                                )
                                                              ]
                                                              spids: [28791]
                                                            )
                                                          ]
                                                          spids: [28788 28789 28798 16777215]
                                                        )
                                                      ]
                                                      spids: [28767 28774 28801]
                                                    )
                                                  ]
                                                  spids: [16777215 28760]
                                                )
                                              ]
                                              spids: [16777215 28804]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (' ') ($ VSub_Name '$sys_lib_dlsearch_path') 
                                                    (' ')
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$absdir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [28831 28838 28840 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(DQ ($ VSub_Name '$compile_rpath') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$absdir') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [28857 28864 28866 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:compile_rpath)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name '$compile_rpath') (' ') ($ VSub_Name '$absdir')
                                                                      )
                                                                    }
                                                                  spids: [28872]
                                                                )
                                                              ]
                                                              spids: [28872]
                                                            )
                                                          ]
                                                          spids: [28869 28870 16777215 28880]
                                                        )
                                                      ]
                                                      spids: [28847 28854 28880]
                                                    )
                                                  ]
                                                  spids: [28843 28844 28883 16777215]
                                                )
                                              ]
                                              spids: [28820 28828 28886]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (' ') ($ VSub_Name '$sys_lib_dlsearch_path') 
                                                    (' ')
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$libdir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [28900 28907 28909 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(DQ ($ VSub_Name '$finalize_rpath') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$libdir') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [28926 28933 28935 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:finalize_rpath)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$finalize_rpath'
                                                                        ) (' ') ($ VSub_Name '$libdir')
                                                                      )
                                                                    }
                                                                  spids: [28941]
                                                                )
                                                              ]
                                                              spids: [28941]
                                                            )
                                                          ]
                                                          spids: [28938 28939 16777215 28949]
                                                        )
                                                      ]
                                                      spids: [28916 28923 28949]
                                                    )
                                                  ]
                                                  spids: [28912 28913 28952 16777215]
                                                )
                                              ]
                                              spids: [28889 28897 28955]
                                            )
                                          ]
                                          spids: [16777215 28731]
                                        )
                                      ]
                                      spids: [16777215 28958]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name '$alldeplibs'))} 
                                                      {(Lit_Other '=')} {(yes)}
                                                    )
                                                    (BraceGroup
                                                      children: [
                                                        (Sentence
                                                          child: 
                                                            (AndOr
                                                              ops: [Op_DPipe]
                                                              children: [
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$deplibs_check_method'
                                                                      )
                                                                    )
                                                                  } {(Lit_Other '=')} {(pass_all)}
                                                                )
                                                                (BraceGroup
                                                                  children: [
                                                                    (Sentence
                                                                      child: 
                                                                        (AndOr
                                                                          ops: [Op_DAmp]
                                                                          children: [
                                                                            (C {(test)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name 
'$build_libtool_libs'
                                                                                  )
                                                                                )
                                                                              } {(Lit_Other '=')} {(yes)}
                                                                            )
                                                                            (C {(test)} {(-n)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name 
'$library_names'
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                          ]
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  spids: [28995]
                                                                )
                                                              ]
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      spids: [28980]
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                                          spids: [16777215 29025]
                                        )
                                      ]
                                      spids: [16777215 29035]
                                    )
                                  ]
                                  spids: [16777215 28666]
                                )
                              ]
                              spids: [16777215 29038]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_static)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [29042]
                                )
                              ]
                              spids: [29042]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:use_static_libs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$prefer_static_libs')}
                                  spids: [29049]
                                )
                              ]
                              spids: [29049]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DAmp]
                                          children: [
                                            (C {(test)} {(DQ ($ VSub_Name '$use_static_libs'))} 
                                              {(Lit_Other '=')} {(built)}
                                            )
                                            (C {(test)} {(DQ ($ VSub_Name '$installed'))} 
                                              {(Lit_Other '=')} {(yes)}
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:use_static_libs)
                                          op: Equal
                                          rhs: {(no)}
                                          spids: [29081]
                                        )
                                      ]
                                      spids: [29081]
                                    )
                                  ]
                                  spids: [16777215 29078]
                                )
                              ]
                              spids: [16777215 29085]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DAmp]
                                          children: [
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$library_names'))})
                                            (BraceGroup
                                              children: [
                                                (Sentence
                                                  child: 
                                                    (AndOr
                                                      ops: [Op_DPipe]
                                                      children: [
                                                        (C {(test)} 
                                                          {(DQ ($ VSub_Name '$use_static_libs'))} {(Lit_Other '=')} {(no)}
                                                        )
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name '$old_library'))}
                                                        )
                                                      ]
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              spids: [29101]
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name '$host')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (cygwin) (Lit_Other '*')}
                                            {(Lit_Other '*') (mingw) (Lit_Other '*')}
                                            {(Lit_Other '*') (cegcc) (Lit_Other '*')}
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:notinst_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$notinst_deplibs') (' ') 
                                                        ($ VSub_Name '$lib')
                                                      )
                                                    }
                                                  spids: [29159]
                                                )
                                              ]
                                              spids: [29159]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:need_relink)
                                                  op: Equal
                                                  rhs: {(no)}
                                                  spids: [29167]
                                                )
                                              ]
                                              spids: [29167]
                                            )
                                          ]
                                          spids: [29137 29152 29171 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$installed'))} 
                                                          {(Lit_Other '=')} {(no)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:notinst_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$notinst_deplibs') 
                                                                (' ') ($ VSub_Name '$lib')
                                                              )
                                                            }
                                                          spids: [29194]
                                                        )
                                                      ]
                                                      spids: [29194]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:need_relink)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [29202]
                                                        )
                                                      ]
                                                      spids: [29202]
                                                    )
                                                  ]
                                                  spids: [16777215 29191]
                                                )
                                              ]
                                              spids: [16777215 29206]
                                            )
                                          ]
                                          spids: [29174 29175 29209 16777215]
                                        )
                                      ]
                                      spids: [29130 29134 29212]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlopenmodule)
                                          op: Equal
                                          rhs: {(DQ )}
                                          spids: [29228]
                                        )
                                      ]
                                      spids: [29228]
                                    )
                                    (ForEach
                                      iter_name: dlpremoduletest
                                      iter_words: [{($ VSub_Name '$dlprefiles')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {(DQ (X) ($ VSub_Name '$dlpremoduletest'))} {(Lit_Other '=')} {(DQ (X) ($ VSub_Name '$lib'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:dlopenmodule)
                                                          op: Equal
                                                          rhs: {(DQ ($ VSub_Name '$dlpremoduletest'))}
                                                          spids: [29265]
                                                        )
                                                      ]
                                                      spids: [29265]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [16777215 29262]
                                                )
                                              ]
                                              spids: [16777215 29274]
                                            )
                                          ]
                                          spids: [29242 29277]
                                        )
                                      spids: [29238 29240]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-z)} 
                                                      {(DQ ($ VSub_Name '$dlopenmodule'))}
                                                    )
                                                    (C {(test)} {(DQ ($ VSub_Name '$shouldnotlink'))} 
                                                      {(Lit_Other '=')} {(yes)}
                                                    )
                                                    (C {(test)} {(DQ ($ VSub_Name '$pass'))} 
                                                      {(Lit_Other '=')} {(link)}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {($ VSub_Name '$ECHO')})
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                          {(Lit_Other '=')} {(prog)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {($ VSub_Name '$ECHO')} 
                                                      {
                                                        (DQ ('*** Warning: Linking the executable ') 
                                                          ($ VSub_Name '$output') (' against the loadable module')
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [16777215 29334]
                                                )
                                              ]
                                              else_action: [
                                                (C {($ VSub_Name '$ECHO')} 
                                                  {
                                                    (DQ ('*** Warning: Linking the shared library ') 
                                                      ($ VSub_Name '$output') (' against the loadable module')
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [29346 29358]
                                            )
                                            (C {($ VSub_Name '$ECHO')} 
                                              {
                                                (DQ ('*** ') ($ VSub_Name '$linklib') 
                                                  (' is not portable!')
                                                )
                                              }
                                            )
                                          ]
                                          spids: [16777215 29315]
                                        )
                                      ]
                                      spids: [16777215 29370]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                      {(Lit_Other '=')} {(lib)}
                                                    )
                                                    (C {(test)} 
                                                      {(DQ ($ VSub_Name '$hardcode_into_libs'))} {(Lit_Other '=')} {(yes)}
                                                    )
                                                  ]
                                                )
                                              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: [29425 29432 29434 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(DQ ($ VSub_Name '$compile_rpath') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$absdir') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [29451 29458 29460 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:compile_rpath)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name '$compile_rpath') (' ') ($ VSub_Name '$absdir')
                                                                      )
                                                                    }
                                                                  spids: [29466]
                                                                )
                                                              ]
                                                              spids: [29466]
                                                            )
                                                          ]
                                                          spids: [29463 29464 16777215 29474]
                                                        )
                                                      ]
                                                      spids: [29441 29448 29474]
                                                    )
                                                  ]
                                                  spids: [29437 29438 29477 16777215]
                                                )
                                              ]
                                              spids: [29414 29422 29480]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (' ') ($ VSub_Name '$sys_lib_dlsearch_path') 
                                                    (' ')
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$libdir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [29494 29501 29503 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(DQ ($ VSub_Name '$finalize_rpath') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$libdir') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [29520 29527 29529 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:finalize_rpath)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$finalize_rpath'
                                                                        ) (' ') ($ VSub_Name '$libdir')
                                                                      )
                                                                    }
                                                                  spids: [29535]
                                                                )
                                                              ]
                                                              spids: [29535]
                                                            )
                                                          ]
                                                          spids: [29532 29533 16777215 29543]
                                                        )
                                                      ]
                                                      spids: [29510 29517 29543]
                                                    )
                                                  ]
                                                  spids: [29506 29507 29546 16777215]
                                                )
                                              ]
                                              spids: [29483 29491 29549]
                                            )
                                          ]
                                          spids: [16777215 29399]
                                        )
                                      ]
                                      spids: [16777215 29552]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {
                                                    (DQ 
                                                      ($ VSub_Name '$old_archive_from_expsyms_cmds')
                                                    )
                                                  }
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(set)} {(dummy)} {($ VSub_Name '$library_names')})
                                            (C {(shift)})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:realname)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Number '$1'))}
                                                  spids: [29584]
                                                )
                                              ]
                                              spids: [29584]
                                            )
                                            (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: [29594 29605]
                                                      )
                                                    }
                                                  spids: [29593]
                                                )
                                              ]
                                              spids: [29593]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dlname'))})
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:soname)
                                                          op: Equal
                                                          rhs: {(DQ ($ VSub_Name '$dlname'))}
                                                          spids: [29626]
                                                        )
                                                      ]
                                                      spids: [29626]
                                                    )
                                                  ]
                                                  spids: [16777215 29623]
                                                )
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$soname_spec'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name '$host')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') (cygwin) (Lit_Other '*')}
                                                            {(mingw) (Lit_Other '*')}
                                                            {(Lit_Other '*') (cegcc) (Lit_Other '*')}
                                                          ]
                                                          action: [
                                                            (C {(func_arith)} 
                                                              {($ VSub_Name '$current')} {(-)} {($ VSub_Name '$age')}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:major)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      ($ VSub_Name 
'$func_arith_result'
                                                                      )
                                                                    }
                                                                  spids: [29683]
                                                                )
                                                              ]
                                                              spids: [29683]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:versuffix)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-) ($ VSub_Name '$major'))}
                                                                  spids: [29687]
                                                                )
                                                              ]
                                                              spids: [29687]
                                                            )
                                                          ]
                                                          spids: [29657 29671 29694 16777215]
                                                        )
                                                      ]
                                                      spids: [29650 29654 29697]
                                                    )
                                                    (C {(eval)} 
                                                      {(Lit_VarLike 'soname=') 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar '\\"'>
                                                        ) ($ VSub_Name '$soname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                      }
                                                    )
                                                  ]
                                                  spids: [29632 29643]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:soname)
                                                      op: Equal
                                                      rhs: {(DQ ($ VSub_Name '$realname'))}
                                                      spids: [29711]
                                                    )
                                                  ]
                                                  spids: [29711]
                                                )
                                              ]
                                              spids: [29708 29717]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:soroot)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$soname'))}
                                                  spids: [29725]
                                                )
                                              ]
                                              spids: [29725]
                                            )
                                            (C {(func_basename)} {(DQ ($ VSub_Name '$soroot'))})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:soname)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                                                  spids: [29738]
                                                )
                                              ]
                                              spids: [29738]
                                            )
                                            (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: [29759]
                                                )
                                              ]
                                              spids: [29759]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-f)} 
                                                          {
                                                            (DQ ($ VSub_Name '$output_objdir') (/) 
                                                              ($ VSub_Name '$soname') (-def)
                                                            )
                                                          }
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [(C {(Lit_Other ':')})]
                                                  spids: [16777215 29784]
                                                )
                                              ]
                                              else_action: [
                                                (C {(func_verbose)} 
                                                  {
                                                    (DQ ('extracting exported symbol list from ') 
                                                      (EscapedLiteralPart
                                                        token: <Lit_EscapedChar '\\`'>
                                                      ) ($ VSub_Name '$soname') ("'")
                                                    )
                                                  }
                                                )
                                                (C {(func_execute_cmds)} 
                                                  {(DQ ($ VSub_Name '$extract_expsyms_cmds'))} {(SQ <'exit $?'>)}
                                                )
                                              ]
                                              spids: [29789 29813]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-f)} 
                                                          {
                                                            (DQ ($ VSub_Name '$output_objdir') (/) 
                                                              ($ VSub_Name '$newlib')
                                                            )
                                                          }
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Sentence
                                                      child: (C {(Lit_Other ':')})
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  spids: [16777215 29834]
                                                )
                                              ]
                                              else_action: [
                                                (C {(func_verbose)} 
                                                  {
                                                    (DQ ('generating import library for ') 
                                                      (EscapedLiteralPart
                                                        token: <Lit_EscapedChar '\\`'>
                                                      ) ($ VSub_Name '$soname') ("'")
                                                    )
                                                  }
                                                )
                                                (C {(func_execute_cmds)} 
                                                  {
                                                    (DQ 
                                                      ($ VSub_Name '$old_archive_from_expsyms_cmds')
                                                    )
                                                  } {(SQ <'exit $?'>)}
                                                )
                                              ]
                                              spids: [29839 29863]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dir)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$output_objdir')}
                                                  spids: [29870]
                                                )
                                              ]
                                              spids: [29870]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:linklib)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$newlib')}
                                                  spids: [29874]
                                                )
                                              ]
                                              spids: [29874]
                                            )
                                          ]
                                          spids: [16777215 29567]
                                        )
                                      ]
                                      spids: [16777215 29878]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DPipe]
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                      {(Lit_Other '=')} {(prog)}
                                                    )
                                                    (C {(test)} {(DQ ($ VSub_Name '$mode'))} 
                                                      {(KW_Bang '!') (Lit_Other '=')} {(relink)}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_shlibpath)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [29914]
                                                )
                                              ]
                                              spids: [29914]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_dir)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [29917]
                                                )
                                              ]
                                              spids: [29917]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [29920]
                                                )
                                              ]
                                              spids: [29920]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lib_linked)
                                                  op: Equal
                                                  rhs: {(yes)}
                                                  spids: [29923]
                                                )
                                              ]
                                              spids: [29923]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name '$hardcode_action')}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(immediate)} {(unsupported)}]
                                                  action: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name '$hardcode_direct')
                                                                    )
                                                                  } {(Lit_Other '=')} {(no)}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$dir') (/) 
                                                                        ($ VSub_Name '$linklib')
                                                                      )
                                                                    }
                                                                  spids: [29958]
                                                                )
                                                              ]
                                                              spids: [29958]
                                                            )
                                                            (Case
                                                              to_match: {($ VSub_Name '$host')}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') (-) 
                                                                      (Lit_Other '*') (-sco3.2v5.0.) (Lit_Other '[') (024) (Lit_Other ']') (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:add_dir)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ (-L) 
                                                                                ($ VSub_Name '$dir')
                                                                              )
                                                                            }
                                                                          spids: [29983]
                                                                        )
                                                                      ]
                                                                      spids: [29983]
                                                                    )
                                                                  ]
                                                                  spids: [29973 29981 29989 16777215]
                                                                )
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') (-) 
                                                                      (Lit_Other '*') (-sysv4) (Lit_Other '*') (uw2) (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:add_dir)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ (-L) 
                                                                                ($ VSub_Name '$dir')
                                                                              )
                                                                            }
                                                                          spids: [30001]
                                                                        )
                                                                      ]
                                                                      spids: [30001]
                                                                    )
                                                                  ]
                                                                  spids: [29992 29999 30007 16777215]
                                                                )
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') (-) 
                                                                      (Lit_Other '*') (-sysv5OpenUNIX) (Lit_Other '*')
                                                                    }
                                                                    {(Lit_Other '*') (-) 
                                                                      (Lit_Other '*') (-sysv5UnixWare7.) (Lit_Other '[') (01) (Lit_Other ']') (.) (Lit_Other '[') (10) (Lit_Other ']') 
                                                                      (Lit_Other '*')
                                                                    }
                                                                    {(Lit_Other '*') (-) 
                                                                      (Lit_Other '*') (-unixware7) (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:add_dir)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ (-L) 
                                                                                ($ VSub_Name '$dir')
                                                                              )
                                                                            }
                                                                          spids: [30042]
                                                                        )
                                                                      ]
                                                                      spids: [30042]
                                                                    )
                                                                  ]
                                                                  spids: [30010 30040 30048 16777215]
                                                                )
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') (-) 
                                                                      (Lit_Other '*') (-darwin) (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (Sentence
                                                                              child: 
                                                                                (Pipeline
                                                                                  children: [
                                                                                    (SimpleCommand
                                                                                      words: [
                                                                                        {
                                                                                          (
/usr/bin/file
                                                                                          )
                                                                                        }
                                                                                        {(-L)}
                                                                                        {
                                                                                          ($ 
VSub_Name '$add'
                                                                                          )
                                                                                        }
                                                                                      ]
                                                                                      redirects: [
                                                                                        (Redir
                                                                                          op: 
                                                                                            <
Redir_Great '2>'
                                                                                            >
                                                                                          fd: 2
                                                                                          arg_word: 
                                                                                            {
                                                                                              (
/dev/null
                                                                                              )
                                                                                            }
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                    (SimpleCommand
                                                                                      words: [
                                                                                        {
                                                                                          ($ 
VSub_Name '$GREP'
                                                                                          )
                                                                                        }
                                                                                        {
                                                                                          (DQ 
                                                                                            (
': [^:]* bundle'
                                                                                            )
                                                                                          )
                                                                                        }
                                                                                      ]
                                                                                      redirects: [
                                                                                        (Redir
                                                                                          op: 
                                                                                            <
Redir_Great '>'
                                                                                            >
                                                                                          fd: 
16777215
                                                                                          arg_word: 
                                                                                            {
                                                                                              (
/dev/null
                                                                                              )
                                                                                            }
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  negated: F
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ';'>
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (C {(test)} 
                                                                                          {
                                                                                            (DQ (X) 
                                                                                              ($ 
VSub_Name '$dlopenmodule'
                                                                                              )
                                                                                            )
                                                                                          } {(KW_Bang '!') (Lit_Other '=')} {(DQ (X) ($ VSub_Name '$lib'))}
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
';'
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (C 
                                                                                      {
                                                                                        ($ VSub_Name 
'$ECHO'
                                                                                        )
                                                                                      } {(DQ ('*** Warning: lib ') ($ VSub_Name '$linklib') (' is a module, not a shared library'))}
                                                                                    )
                                                                                    (If
                                                                                      arms: [
                                                                                        (if_arm
                                                                                          cond: [
                                                                                            (Sentence
                                                                                              child: 
                                                                                                (C 
                                                                                                  {
                                                                                                    (
test
                                                                                                    )
                                                                                                  } {(-z)} {(DQ ($ VSub_Name '$old_library'))}
                                                                                                )
                                                                                              terminator: 
                                                                                                <
Op_Semi ';'
                                                                                                >
                                                                                            )
                                                                                          ]
                                                                                          action: [
                                                                                            (C 
                                                                                              {
                                                                                                ($ 
VSub_Name '$ECHO'
                                                                                                )
                                                                                              }
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                ($ 
VSub_Name '$ECHO'
                                                                                                )
                                                                                              } {(DQ ("*** And there doesn't seem to be a static archive available"))}
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                ($ 
VSub_Name '$ECHO'
                                                                                                )
                                                                                              } {(DQ ('*** The link will probably fail, sorry'))}
                                                                                            )
                                                                                          ]
                                                                                          spids: [
16777215
30139
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      else_action: [
                                                                                        (Assignment
                                                                                          keyword: 
Assign_None
                                                                                          pairs: [
                                                                                            (assign_pair
                                                                                              lhs: 
                                                                                                (LhsName
                                                                                                  name: 
add
                                                                                                )
                                                                                              op: 
                                                                                                Equal
                                                                                              rhs: 
                                                                                                {
                                                                                                  (DQ 
                                                                                                    ($ 
VSub_Name '$dir'
                                                                                                    ) (/) ($ VSub_Name '$old_library')
                                                                                                  )
                                                                                                }
                                                                                              spids: [
30162
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
30162
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
30159
30170
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
16777215
30115
                                                                                  ]
                                                                                )
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (C {(test)} 
                                                                                          {(-n)} {(DQ ($ VSub_Name '$old_library'))}
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
';'
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
add
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name '$dir'
                                                                                                ) (/) ($ VSub_Name '$old_library')
                                                                                              )
                                                                                            }
                                                                                          spids: [
30187
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [30187]
                                                                                    )
                                                                                  ]
                                                                                  spids: [30173 30184]
                                                                                )
                                                                              ]
                                                                              spids: [16777215 30195]
                                                                            )
                                                                          ]
                                                                          spids: [16777215 30094]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 30198]
                                                                    )
                                                                  ]
                                                                  spids: [30051 30057 16777215 30201]
                                                                )
                                                              ]
                                                              spids: [29966 29970 30201]
                                                            )
                                                          ]
                                                          spids: [16777215 29955]
                                                        )
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$hardcode_minus_L'
                                                                      )
                                                                    )
                                                                  } {(Lit_Other '=')} {(no)}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name '$host')}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') (-) 
                                                                      (Lit_Other '*') (-sunos) (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: add_shlibpath
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name '$dir')
                                                                              )
                                                                            }
                                                                          spids: [30234]
                                                                        )
                                                                      ]
                                                                      spids: [30234]
                                                                    )
                                                                  ]
                                                                  spids: [30227 30232 30239 16777215]
                                                                )
                                                              ]
                                                              spids: [30220 30224 30242]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add_dir)
                                                                  op: Equal
                                                                  rhs: {(DQ (-L) ($ VSub_Name '$dir'))}
                                                                  spids: [30245]
                                                                )
                                                              ]
                                                              spids: [30245]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-l) ($ VSub_Name '$name'))}
                                                                  spids: [30252]
                                                                )
                                                              ]
                                                              spids: [30252]
                                                            )
                                                          ]
                                                          spids: [30204 30217]
                                                        )
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$hardcode_shlibpath_var'
                                                                      )
                                                                    )
                                                                  } {(Lit_Other '=')} {(no)}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add_shlibpath)
                                                                  op: Equal
                                                                  rhs: {(DQ ($ VSub_Name '$dir'))}
                                                                  spids: [30275]
                                                                )
                                                              ]
                                                              spids: [30275]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-l) ($ VSub_Name '$name'))}
                                                                  spids: [30281]
                                                                )
                                                              ]
                                                              spids: [30281]
                                                            )
                                                          ]
                                                          spids: [30259 30272]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:lib_linked)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [30291]
                                                            )
                                                          ]
                                                          spids: [30291]
                                                        )
                                                      ]
                                                      spids: [30288 30295]
                                                    )
                                                  ]
                                                  spids: [29934 29939 30298 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(relink)}]
                                                  action: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (AndOr
                                                                  ops: [Op_DAmp]
                                                                  children: [
                                                                    (C {(test)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
'$hardcode_direct'
                                                                          )
                                                                        )
                                                                      } {(Lit_Other '=')} {(yes)}
                                                                    )
                                                                    (C {(test)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
'$hardcode_direct_absolute'
                                                                          )
                                                                        )
                                                                      } {(Lit_Other '=')} {(no)}
                                                                    )
                                                                  ]
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$dir') (/) 
                                                                        ($ VSub_Name '$linklib')
                                                                      )
                                                                    }
                                                                  spids: [30334]
                                                                )
                                                              ]
                                                              spids: [30334]
                                                            )
                                                          ]
                                                          spids: [16777215 30331]
                                                        )
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$hardcode_minus_L'
                                                                      )
                                                                    )
                                                                  } {(Lit_Other '=')} {(yes)}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add_dir)
                                                                  op: Equal
                                                                  rhs: {(DQ (-L) ($ VSub_Name '$dir'))}
                                                                  spids: [30358]
                                                                )
                                                              ]
                                                              spids: [30358]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-n)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
'$inst_prefix_dir'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Case
                                                                      to_match: 
                                                                        {($ VSub_Name '$libdir')}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(Lit_Other '[') 
                                                                              (EscapedLiteralPart
                                                                                token: 
                                                                                  <Lit_EscapedChar 
'\\\\'
                                                                                  >
                                                                              ) (/) (Lit_Other ']') (Lit_Other '*')
                                                                            }
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: add_dir
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
'$add_dir'
                                                                                        ) (' -L') ($ VSub_Name '$inst_prefix_dir') ($ VSub_Name '$libdir')
                                                                                      )
                                                                                    }
                                                                                  spids: [30398]
                                                                                )
                                                                              ]
                                                                              spids: [30398]
                                                                            )
                                                                          ]
                                                                          spids: [
30390
30395
30407
16777215
                                                                          ]
                                                                        )
                                                                      ]
                                                                      spids: [30383 30387 30410]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 30380]
                                                                )
                                                              ]
                                                              spids: [16777215 30413]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-l) ($ VSub_Name '$name'))}
                                                                  spids: [30416]
                                                                )
                                                              ]
                                                              spids: [30416]
                                                            )
                                                          ]
                                                          spids: [30342 30355]
                                                        )
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$hardcode_shlibpath_var'
                                                                      )
                                                                    )
                                                                  } {(Lit_Other '=')} {(yes)}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add_shlibpath)
                                                                  op: Equal
                                                                  rhs: {(DQ ($ VSub_Name '$dir'))}
                                                                  spids: [30439]
                                                                )
                                                              ]
                                                              spids: [30439]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-l) ($ VSub_Name '$name'))}
                                                                  spids: [30445]
                                                                )
                                                              ]
                                                              spids: [30445]
                                                            )
                                                          ]
                                                          spids: [30423 30436]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:lib_linked)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [30455]
                                                            )
                                                          ]
                                                          spids: [30455]
                                                        )
                                                      ]
                                                      spids: [30452 30459]
                                                    )
                                                  ]
                                                  spids: [30301 30302 30462 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:lib_linked)
                                                          op: Equal
                                                          rhs: {(no)}
                                                          spids: [30468]
                                                        )
                                                      ]
                                                      spids: [30468]
                                                    )
                                                  ]
                                                  spids: [30465 30466 30471 16777215]
                                                )
                                              ]
                                              spids: [29927 29931 30474]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$lib_linked'))} 
                                                          {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_fatal_configuration)} 
                                                      {(DQ ('unsupported hardcode properties'))}
                                                    )
                                                  ]
                                                  spids: [16777215 30492]
                                                )
                                              ]
                                              spids: [16777215 30502]
                                            )
                                            (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: [30529 30536 30538 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (LhsName
                                                                      name: compile_shlibpath
                                                                    )
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$compile_shlibpath'
                                                                        ) ($ VSub_Name '$add_shlibpath') (':')
                                                                      )
                                                                    }
                                                                  spids: [30544]
                                                                )
                                                              ]
                                                              spids: [30544]
                                                            )
                                                          ]
                                                          spids: [30541 30542 30551 16777215]
                                                        )
                                                      ]
                                                      spids: [30520 30526 30554]
                                                    )
                                                  ]
                                                  spids: [16777215 30517]
                                                )
                                              ]
                                              spids: [16777215 30557]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                          {(Lit_Other '=')} {(prog)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (AndOr
                                                      ops: [Op_DAmp]
                                                      children: [
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$add_dir'))}
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:compile_deplibs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name '$add_dir') (' ') 
                                                                    ($ VSub_Name '$compile_deplibs')
                                                                  )
                                                                }
                                                              spids: [30586]
                                                            )
                                                          ]
                                                          spids: [30586]
                                                        )
                                                      ]
                                                    )
                                                    (AndOr
                                                      ops: [Op_DAmp]
                                                      children: [
                                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$add'))})
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:compile_deplibs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name '$add') (' ') 
                                                                    ($ VSub_Name '$compile_deplibs')
                                                                  )
                                                                }
                                                              spids: [30604]
                                                            )
                                                          ]
                                                          spids: [30604]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [16777215 30573]
                                                )
                                              ]
                                              else_action: [
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$add_dir'))})
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$add_dir') (' ') 
                                                                ($ VSub_Name '$deplibs')
                                                              )
                                                            }
                                                          spids: [30625]
                                                        )
                                                      ]
                                                      spids: [30625]
                                                    )
                                                  ]
                                                )
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$add'))})
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$add') (' ') 
                                                                ($ VSub_Name '$deplibs')
                                                              )
                                                            }
                                                          spids: [30643]
                                                        )
                                                      ]
                                                      spids: [30643]
                                                    )
                                                  ]
                                                )
                                                (If
                                                  arms: [
                                                    (if_arm
                                                      cond: [
                                                        (Sentence
                                                          child: 
                                                            (AndOr
                                                              ops: [Op_DAmp Op_DAmp]
                                                              children: [
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name '$hardcode_direct')
                                                                    )
                                                                  } {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                                                )
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$hardcode_minus_L'
                                                                      )
                                                                    )
                                                                  } {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                                                )
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$hardcode_shlibpath_var'
                                                                      )
                                                                    )
                                                                  } {(Lit_Other '=')} {(yes)}
                                                                )
                                                              ]
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      action: [
                                                        (Case
                                                          to_match: 
                                                            {(Lit_Other ':') 
                                                              ($ VSub_Name '$finalize_shlibpath') (Lit_Other ':')
                                                            }
                                                          arms: [
                                                            (case_arm
                                                              pat_list: [
                                                                {(Lit_Other '*') 
                                                                  (DQ (':') ($ VSub_Name '$libdir') 
                                                                    (':')
                                                                  ) (Lit_Other '*')
                                                                }
                                                              ]
                                                              spids: [30704 30711 30713 16777215]
                                                            )
                                                            (case_arm
                                                              pat_list: [{(Lit_Other '*')}]
                                                              action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: 
                                                                        (LhsName
                                                                          name: finalize_shlibpath
                                                                        )
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (DQ 
                                                                            ($ VSub_Name 
'$finalize_shlibpath'
                                                                            ) ($ VSub_Name '$libdir') (':')
                                                                          )
                                                                        }
                                                                      spids: [30719]
                                                                    )
                                                                  ]
                                                                  spids: [30719]
                                                                )
                                                              ]
                                                              spids: [30716 30717 30726 16777215]
                                                            )
                                                          ]
                                                          spids: [30695 30701 30729]
                                                        )
                                                      ]
                                                      spids: [16777215 30692]
                                                    )
                                                  ]
                                                  spids: [16777215 30732]
                                                )
                                              ]
                                              spids: [30612 30735]
                                            )
                                          ]
                                          spids: [16777215 29911]
                                        )
                                      ]
                                      spids: [16777215 30738]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DPipe]
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                      {(Lit_Other '=')} {(prog)}
                                                    )
                                                    (C {(test)} {(DQ ($ VSub_Name '$mode'))} 
                                                      {(Lit_Other '=')} {(relink)}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_shlibpath)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [30770]
                                                )
                                              ]
                                              spids: [30770]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_dir)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [30773]
                                                )
                                              ]
                                              spids: [30773]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [30776]
                                                )
                                              ]
                                              spids: [30776]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          ops: [Op_DAmp]
                                                          children: [
                                                            (C {(test)} 
                                                              {(DQ ($ VSub_Name '$hardcode_direct'))} {(Lit_Other '=')} {(yes)}
                                                            )
                                                            (C {(test)} 
                                                              {
                                                                (DQ 
                                                                  ($ VSub_Name 
'$hardcode_direct_absolute'
                                                                  )
                                                                )
                                                              } {(Lit_Other '=')} {(no)}
                                                            )
                                                          ]
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:add)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$libdir') (/) 
                                                                ($ VSub_Name '$linklib')
                                                              )
                                                            }
                                                          spids: [30812]
                                                        )
                                                      ]
                                                      spids: [30812]
                                                    )
                                                  ]
                                                  spids: [16777215 30809]
                                                )
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {(DQ ($ VSub_Name '$hardcode_minus_L'))} {(Lit_Other '=')} {(yes)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:add_dir)
                                                          op: Equal
                                                          rhs: {(DQ (-L) ($ VSub_Name '$libdir'))}
                                                          spids: [30836]
                                                        )
                                                      ]
                                                      spids: [30836]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:add)
                                                          op: Equal
                                                          rhs: {(DQ (-l) ($ VSub_Name '$name'))}
                                                          spids: [30843]
                                                        )
                                                      ]
                                                      spids: [30843]
                                                    )
                                                  ]
                                                  spids: [30820 30833]
                                                )
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name '$hardcode_shlibpath_var')
                                                            )
                                                          } {(Lit_Other '=')} {(yes)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(Lit_Other ':') 
                                                          ($ VSub_Name '$finalize_shlibpath') (Lit_Other ':')
                                                        }
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (':') ($ VSub_Name '$libdir') (':')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [30875 30882 30884 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (LhsName
                                                                      name: finalize_shlibpath
                                                                    )
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$finalize_shlibpath'
                                                                        ) ($ VSub_Name '$libdir') (':')
                                                                      )
                                                                    }
                                                                  spids: [30890]
                                                                )
                                                              ]
                                                              spids: [30890]
                                                            )
                                                          ]
                                                          spids: [30887 30888 30897 16777215]
                                                        )
                                                      ]
                                                      spids: [30866 30872 30900]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:add)
                                                          op: Equal
                                                          rhs: {(DQ (-l) ($ VSub_Name '$name'))}
                                                          spids: [30903]
                                                        )
                                                      ]
                                                      spids: [30903]
                                                    )
                                                  ]
                                                  spids: [30850 30863]
                                                )
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {(DQ ($ VSub_Name '$hardcode_automatic'))} {(Lit_Other '=')} {(yes)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (AndOr
                                                                  ops: [Op_DAmp]
                                                                  children: [
                                                                    (C {(test)} {(-n)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
'$inst_prefix_dir'
                                                                          )
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {(test)} {(-f)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
'$inst_prefix_dir'
                                                                          ) ($ VSub_Name '$libdir') (/) ($ VSub_Name '$linklib')
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$inst_prefix_dir'
                                                                        ) ($ VSub_Name '$libdir') (/) ($ VSub_Name '$linklib')
                                                                      )
                                                                    }
                                                                  spids: [30955]
                                                                )
                                                              ]
                                                              spids: [30955]
                                                            )
                                                          ]
                                                          spids: [16777215 30952]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:add)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name '$libdir') (/) 
                                                                    ($ VSub_Name '$linklib')
                                                                  )
                                                                }
                                                              spids: [30967]
                                                            )
                                                          ]
                                                          spids: [30967]
                                                        )
                                                      ]
                                                      spids: [30964 30975]
                                                    )
                                                  ]
                                                  spids: [30910 30923]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:add_dir)
                                                      op: Equal
                                                      rhs: {(DQ (-L) ($ VSub_Name '$libdir'))}
                                                      spids: [30985]
                                                    )
                                                  ]
                                                  spids: [30985]
                                                )
                                                (If
                                                  arms: [
                                                    (if_arm
                                                      cond: [
                                                        (Sentence
                                                          child: 
                                                            (C {(test)} {(-n)} 
                                                              {(DQ ($ VSub_Name '$inst_prefix_dir'))}
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      action: [
                                                        (Case
                                                          to_match: {($ VSub_Name '$libdir')}
                                                          arms: [
                                                            (case_arm
                                                              pat_list: [
                                                                {(Lit_Other '[') 
                                                                  (EscapedLiteralPart
                                                                    token: <Lit_EscapedChar '\\\\'>
                                                                  ) (/) (Lit_Other ']') (Lit_Other '*')
                                                                }
                                                              ]
                                                              action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:add_dir)
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (DQ 
                                                                            ($ VSub_Name '$add_dir') (' -L') ($ VSub_Name '$inst_prefix_dir') ($ VSub_Name '$libdir')
                                                                          )
                                                                        }
                                                                      spids: [31025]
                                                                    )
                                                                  ]
                                                                  spids: [31025]
                                                                )
                                                              ]
                                                              spids: [31017 31022 31034 16777215]
                                                            )
                                                          ]
                                                          spids: [31010 31014 31037]
                                                        )
                                                      ]
                                                      spids: [16777215 31007]
                                                    )
                                                  ]
                                                  spids: [16777215 31040]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:add)
                                                      op: Equal
                                                      rhs: {(DQ (-l) ($ VSub_Name '$name'))}
                                                      spids: [31043]
                                                    )
                                                  ]
                                                  spids: [31043]
                                                )
                                              ]
                                              spids: [30978 31050]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} 
                                                          {(Lit_Other '=')} {(prog)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (AndOr
                                                      ops: [Op_DAmp]
                                                      children: [
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$add_dir'))}
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:finalize_deplibs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name '$add_dir') (' ') 
                                                                    ($ VSub_Name '$finalize_deplibs')
                                                                  )
                                                                }
                                                              spids: [31080]
                                                            )
                                                          ]
                                                          spids: [31080]
                                                        )
                                                      ]
                                                    )
                                                    (AndOr
                                                      ops: [Op_DAmp]
                                                      children: [
                                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$add'))})
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:finalize_deplibs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name '$add') (' ') 
                                                                    ($ VSub_Name '$finalize_deplibs')
                                                                  )
                                                                }
                                                              spids: [31098]
                                                            )
                                                          ]
                                                          spids: [31098]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [16777215 31067]
                                                )
                                              ]
                                              else_action: [
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$add_dir'))})
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$add_dir') (' ') 
                                                                ($ VSub_Name '$deplibs')
                                                              )
                                                            }
                                                          spids: [31119]
                                                        )
                                                      ]
                                                      spids: [31119]
                                                    )
                                                  ]
                                                )
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$add'))})
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$add') (' ') 
                                                                ($ VSub_Name '$deplibs')
                                                              )
                                                            }
                                                          spids: [31137]
                                                        )
                                                      ]
                                                      spids: [31137]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [31106 31145]
                                            )
                                          ]
                                          spids: [16777215 30767]
                                        )
                                      ]
                                      spids: [16777215 31148]
                                    )
                                  ]
                                  spids: [16777215 29127]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} {(Lit_Other '=')} 
                                          {(prog)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$hardcode_direct'))} 
                                                  {(KW_Bang '!') (Lit_Other '=')} {(unsupported)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$old_library'))})
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:linklib)
                                                      op: Equal
                                                      rhs: {(DQ ($ VSub_Name '$old_library'))}
                                                      spids: [31206]
                                                    )
                                                  ]
                                                  spids: [31206]
                                                )
                                              ]
                                            )
                                            (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: [31212]
                                                )
                                              ]
                                              spids: [31212]
                                            )
                                            (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: [31222]
                                                )
                                              ]
                                              spids: [31222]
                                            )
                                          ]
                                          spids: [16777215 31193]
                                        )
                                      ]
                                      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: [31235]
                                            )
                                          ]
                                          spids: [31235]
                                        )
                                        (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: [31246]
                                            )
                                          ]
                                          spids: [31246]
                                        )
                                      ]
                                      spids: [31232 31257]
                                    )
                                  ]
                                  spids: [31151 31164]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} 
                                          {(Lit_Other '=')} {(yes)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$deplibs_check_method'))} 
                                                  {(KW_Bang '!') (Lit_Other '=')} {(pass_all)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {($ VSub_Name '$ECHO')})
                                            (C {($ VSub_Name '$ECHO')} 
                                              {
                                                (DQ 
                                                  (
'*** Warning: This system can not link to static lib archive '
                                                  ) ($ VSub_Name '$lib') (.)
                                                )
                                              }
                                            )
                                            (C {($ VSub_Name '$ECHO')} 
                                              {
                                                (DQ 
                                                  (
'*** I have the capability to make that library automatically link in when'
                                                  )
                                                )
                                              }
                                            )
                                            (C {($ VSub_Name '$ECHO')} 
                                              {
                                                (DQ 
                                                  (
'*** you link to this library.  But I can only do this if you have a'
                                                  )
                                                )
                                              }
                                            )
                                            (C {($ VSub_Name '$ECHO')} 
                                              {
                                                (DQ 
                                                  (
'*** shared version of the library, which you do not appear to have.'
                                                  )
                                                )
                                              }
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$module'))} 
                                                          {(Lit_Other '=')} {(yes)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {($ VSub_Name '$ECHO')} 
                                                      {
                                                        (DQ 
                                                          (
'*** But as you try to build a module library, libtool will still create '
                                                          )
                                                        )
                                                      }
                                                    )
                                                    (C {($ VSub_Name '$ECHO')} 
                                                      {
                                                        (DQ 
                                                          (
'*** a static module, that should work as long as the dlopening application'
                                                          )
                                                        )
                                                      }
                                                    )
                                                    (C {($ VSub_Name '$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 {($ VSub_Name '$ECHO')})
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** However, this would only work if libtool was able to extract symbol'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** lists from a program, using '
                                                                  ) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("nm' or equivalent, but libtool could")
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** not find such a program.  So, this module is probably useless.'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ ('*** ') 
                                                                  (EscapedLiteralPart
                                                                    token: <Lit_EscapedChar '\\`'>
                                                                  ) ("nm' from GNU binutils and a full rebuild may help.")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [16777215 31395]
                                                        )
                                                      ]
                                                      spids: [16777215 31433]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name '$build_old_libs')
                                                                    )
                                                                  } {(Lit_Other '=')} {(no)}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (LhsName
                                                                      name: build_libtool_libs
                                                                    )
                                                                  op: Equal
                                                                  rhs: {(module)}
                                                                  spids: [31452]
                                                                )
                                                              ]
                                                              spids: [31452]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:build_old_libs)
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [31456]
                                                                )
                                                              ]
                                                              spids: [31456]
                                                            )
                                                          ]
                                                          spids: [16777215 31449]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_libtool_libs)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [31463]
                                                            )
                                                          ]
                                                          spids: [31463]
                                                        )
                                                      ]
                                                      spids: [31460 31467]
                                                    )
                                                  ]
                                                  spids: [16777215 31360]
                                                )
                                              ]
                                              spids: [16777215 31470]
                                            )
                                          ]
                                          spids: [16777215 31294]
                                        )
                                      ]
                                      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: [31476]
                                            )
                                          ]
                                          spids: [31476]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:link_static)
                                              op: Equal
                                              rhs: {(yes)}
                                              spids: [31486]
                                            )
                                          ]
                                          spids: [31486]
                                        )
                                      ]
                                      spids: [31473 31490]
                                    )
                                  ]
                                  spids: [31260 31273]
                                )
                              ]
                              spids: [16777215 31493]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} {(Lit_Other '=')} 
                                          {(lib)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$dependency_libs'))}
                                                    )
                                                    (BraceGroup
                                                      children: [
                                                        (Sentence
                                                          child: 
                                                            (AndOr
                                                              ops: [Op_DPipe Op_DPipe]
                                                              children: [
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$hardcode_into_libs'
                                                                      )
                                                                    )
                                                                  } {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                                                )
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name '$build_old_libs')
                                                                    )
                                                                  } {(Lit_Other '=')} {(yes)}
                                                                )
                                                                (C {(test)} 
                                                                  {(DQ ($ VSub_Name '$link_static'))} {(Lit_Other '=')} {(yes)}
                                                                )
                                                              ]
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      spids: [31529]
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:temp_deplibs)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [31579]
                                                )
                                              ]
                                              spids: [31579]
                                            )
                                            (ForEach
                                              iter_name: libdir
                                              iter_words: [{($ VSub_Name '$dependency_libs')}]
                                              do_arg_iter: F
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Case
                                                      to_match: {($ VSub_Name '$libdir')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(-R) (Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_stripname)} {(SQ <-R>)} {(SQ )} 
                                                              {(DQ ($ VSub_Name '$libdir'))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:temp_xrpath)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      ($ VSub_Name 
'$func_stripname_result'
                                                                      )
                                                                    }
                                                                  spids: [31619]
                                                                )
                                                              ]
                                                              spids: [31619]
                                                            )
                                                            (Case
                                                              to_match: 
                                                                {
                                                                  (DQ (' ') ($ VSub_Name '$xrpath') 
                                                                    (' ')
                                                                  )
                                                                }
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') 
                                                                      (DQ (' ') 
                                                                        ($ VSub_Name '$temp_xrpath') (' ')
                                                                      ) (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  spids: [31634 31641 31643 16777215]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other '*')}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:xrpath)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name 
'$xrpath'
                                                                                ) (' ') ($ VSub_Name '$temp_xrpath')
                                                                              )
                                                                            }
                                                                          spids: [31649]
                                                                        )
                                                                      ]
                                                                      spids: [31649]
                                                                    )
                                                                  ]
                                                                  spids: [31646 31647 31655 16777215]
                                                                )
                                                              ]
                                                              spids: [31623 31631 31658]
                                                            )
                                                          ]
                                                          spids: [31601 31603 31659 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:temp_deplibs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name '$temp_deplibs') (' ') ($ VSub_Name '$libdir')
                                                                      )
                                                                    }
                                                                  spids: [31665]
                                                                )
                                                              ]
                                                              spids: [31665]
                                                            )
                                                          ]
                                                          spids: [31662 31663 31671 16777215]
                                                        )
                                                      ]
                                                      spids: [31594 31598 31674]
                                                    )
                                                  ]
                                                  spids: [31591 31677]
                                                )
                                              spids: [31587 31589]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dependency_libs)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$temp_deplibs'))}
                                                  spids: [31680]
                                                )
                                              ]
                                              spids: [31680]
                                            )
                                          ]
                                          spids: [16777215 31572]
                                        )
                                      ]
                                      spids: [16777215 31686]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:newlib_search_path)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$newlib_search_path') (' ') 
                                                ($ VSub_Name '$absdir')
                                              )
                                            }
                                          spids: [31690]
                                        )
                                      ]
                                      spids: [31690]
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(DQ ($ VSub_Name '$link_static'))} 
                                          {(Lit_Other '=')} {(no)}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdependency_libs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$abs_ladir') (/) 
                                                    ($ VSub_Name '$laname') (' ') ($ VSub_Name '$newdependency_libs')
                                                  )
                                                }
                                              spids: [31714]
                                            )
                                          ]
                                          spids: [31714]
                                        )
                                      ]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [31728]
                                        )
                                      ]
                                      spids: [31728]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name '$dependency_libs')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdependency_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$newdependency_libs')
                                                      )
                                                    }
                                                  spids: [31743]
                                                )
                                              ]
                                              spids: [31743]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: (C {($ VSub_Name '$opt_duplicate_deps')})
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: {(DQ ($ VSub_Name '$tmp_libs') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$deplib') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:specialdeplibs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$specialdeplibs'
                                                                        ) (' ') ($ VSub_Name '$deplib')
                                                                      )
                                                                    }
                                                                  spids: [31779]
                                                                )
                                                              ]
                                                              spids: [31779]
                                                            )
                                                          ]
                                                          spids: [31770 31777 31786 16777215]
                                                        )
                                                      ]
                                                      spids: [31760 31767 31789]
                                                    )
                                                  ]
                                                  spids: [16777215 31757]
                                                )
                                              ]
                                              spids: [16777215 31792]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:tmp_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$tmp_libs') (' ') 
                                                        ($ VSub_Name '$deplib')
                                                      )
                                                    }
                                                  spids: [31795]
                                                )
                                              ]
                                              spids: [31795]
                                            )
                                          ]
                                          spids: [31740 31803]
                                        )
                                      spids: [31736 31738]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$link_all_deplibs'))} 
                                                  {(KW_Bang '!') (Lit_Other '=')} {(no)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (ForEach
                                              iter_name: deplib
                                              iter_words: [{($ VSub_Name '$dependency_libs')}]
                                              do_arg_iter: F
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:path)
                                                          op: Equal
                                                          rhs: {(EmptyPart)}
                                                          spids: [31840]
                                                        )
                                                      ]
                                                      spids: [31840]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name '$deplib')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(-L) (Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:path)
                                                                  op: Equal
                                                                  rhs: {(DQ ($ VSub_Name '$deplib'))}
                                                                  spids: [31854]
                                                                )
                                                              ]
                                                              spids: [31854]
                                                            )
                                                          ]
                                                          spids: [31850 31852 31859 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*') (.la)}]
                                                          action: [
                                                            (C {(func_dirname)} 
                                                              {(DQ ($ VSub_Name '$deplib'))} {(DQ )} {(DQ (.))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:dir)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$func_dirname_result'
                                                                        )
                                                                      )
                                                                    }
                                                                  spids: [31881]
                                                                )
                                                              ]
                                                              spids: [31881]
                                                            )
                                                            (Case
                                                              to_match: {($ VSub_Name '$dir')}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '[') 
                                                                      (EscapedLiteralPart
                                                                        token: 
                                                                          <Lit_EscapedChar '\\\\'>
                                                                      ) (/) (Lit_Other ']') (Lit_Other '*')
                                                                    }
                                                                    {(Lit_Other '[') (A-Za-z) 
                                                                      (Lit_Other ']') (Lit_Other ':') (Lit_Other '[') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (/) (Lit_Other ']') 
                                                                      (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:absdir)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name '$dir')
                                                                              )
                                                                            }
                                                                          spids: [31917]
                                                                        )
                                                                      ]
                                                                      spids: [31917]
                                                                    )
                                                                  ]
                                                                  spids: [31898 31915 31922 16777215]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other '*')}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:absdir)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (AndOr
                                                                                        ops: [
Op_DAmp
                                                                                        ]
                                                                                        children: [
                                                                                          (C {(cd)} 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name '$dir'
                                                                                                )
                                                                                              )
                                                                                            }
                                                                                          )
                                                                                          (C {(pwd)})
                                                                                        ]
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
'`'
                                                                                  >
                                                                                spids: [31930 31940]
                                                                              )
                                                                            }
                                                                          spids: [31929]
                                                                        )
                                                                      ]
                                                                      spids: [31929]
                                                                    )
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (Sentence
                                                                              child: 
                                                                                (C {(test)} {(-z)} 
                                                                                  {
                                                                                    (DQ 
                                                                                      ($ VSub_Name 
'$absdir'
                                                                                      )
                                                                                    )
                                                                                  }
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ';'>
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (C {(func_warning)} 
                                                                              {
                                                                                (DQ 
                                                                                  (
'cannot determine absolute directory name of '
                                                                                  ) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$dir') ("'")
                                                                                )
                                                                              }
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: absdir
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
'$dir'
                                                                                        )
                                                                                      )
                                                                                    }
                                                                                  spids: [31967]
                                                                                )
                                                                              ]
                                                                              spids: [31967]
                                                                            )
                                                                          ]
                                                                          spids: [16777215 31954]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 31973]
                                                                    )
                                                                  ]
                                                                  spids: [31925 31926 31976 16777215]
                                                                )
                                                              ]
                                                              spids: [31891 31895 31979]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (SimpleCommand
                                                                          words: [
                                                                            {($ VSub_Name '$GREP')}
                                                                            {(DQ ('^installed=no'))}
                                                                            {
                                                                              ($ VSub_Name '$deplib')
                                                                            }
                                                                          ]
                                                                          redirects: [
                                                                            (Redir
                                                                              op: <Redir_Great '>'>
                                                                              fd: 16777215
                                                                              arg_word: {(/dev/null)}
                                                                            )
                                                                          ]
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Case
                                                                      to_match: 
                                                                        {($ VSub_Name '$host')}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(Lit_Other '*') (-) 
                                                                              (Lit_Other '*') (-darwin) (Lit_Other '*')
                                                                            }
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: depdepl
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(EmptyPart)}
                                                                                  spids: [32015]
                                                                                )
                                                                              ]
                                                                              spids: [32015]
                                                                            )
                                                                            (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: [32021 32035]
                                                                                )
                                                                              }
                                                                            )
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (C {(test)} 
                                                                                          {(-n)} {(DQ ($ VSub_Name '$deplibrary_names'))}
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
';'
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (ForEach
                                                                                      iter_name: tmp
                                                                                      iter_words: [
                                                                                        {
                                                                                          ($ 
VSub_Name '$deplibrary_names'
                                                                                          )
                                                                                        }
                                                                                      ]
                                                                                      do_arg_iter: F
                                                                                      body: 
                                                                                        (DoGroup
                                                                                          children: [
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
depdepl
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      ($ 
VSub_Name '$tmp'
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
32066
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
32066
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
32063
32070
                                                                                          ]
                                                                                        )
                                                                                      spids: [
32058
32061
                                                                                      ]
                                                                                    )
                                                                                    (If
                                                                                      arms: [
                                                                                        (if_arm
                                                                                          cond: [
                                                                                            (Sentence
                                                                                              child: 
                                                                                                (C 
                                                                                                  {
                                                                                                    (
test
                                                                                                    )
                                                                                                  } {(-f)} {(DQ ($ VSub_Name '$absdir') (/) ($ VSub_Name '$objdir') (/) ($ VSub_Name '$depdepl'))}
                                                                                                )
                                                                                              terminator: 
                                                                                                <
Op_Semi ';'
                                                                                                >
                                                                                            )
                                                                                          ]
                                                                                          action: [
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
depdepl
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      (DQ 
                                                                                                        ($ 
VSub_Name '$absdir'
                                                                                                        ) (/) ($ VSub_Name '$objdir') (/) ($ VSub_Name '$depdepl')
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
32092
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
32092
                                                                                              ]
                                                                                            )
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
darwin_install_name
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      (CommandSubPart
                                                                                                        command_list: 
                                                                                                          (CommandList
                                                                                                            children: [
                                                                                                              (Pipeline
                                                                                                                children: [
                                                                                                                  (C 
                                                                                                                    {
                                                                                                                      (${ 
VSub_Name OTOOL
                                                                                                                      )
                                                                                                                    } {(-L)} {($ VSub_Name '$depdepl')}
                                                                                                                  )
                                                                                                                  (C 
                                                                                                                    {
                                                                                                                      (
awk
                                                                                                                      )
                                                                                                                    } {(SQ <'{if (NR == 2) {print $1;exit}}'>)}
                                                                                                                  )
                                                                                                                ]
                                                                                                                negated: 
F
                                                                                                              )
                                                                                                            ]
                                                                                                          )
                                                                                                        left_token: 
                                                                                                          <
Left_Backtick '`'
                                                                                                          >
                                                                                                        spids: [
32103
32119
                                                                                                        ]
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
32102
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
32102
                                                                                              ]
                                                                                            )
                                                                                            (If
                                                                                              arms: [
                                                                                                (if_arm
                                                                                                  cond: [
                                                                                                    (Sentence
                                                                                                      child: 
                                                                                                        (C 
                                                                                                          {
                                                                                                            (
test
                                                                                                            )
                                                                                                          } {(-z)} {(DQ ($ VSub_Name '$darwin_install_name'))}
                                                                                                        )
                                                                                                      terminator: 
                                                                                                        <
Op_Semi ';'
                                                                                                        >
                                                                                                    )
                                                                                                  ]
                                                                                                  action: [
                                                                                                    (Assignment
                                                                                                      keyword: 
Assign_None
                                                                                                      pairs: [
                                                                                                        (assign_pair
                                                                                                          lhs: 
                                                                                                            (LhsName
                                                                                                              name: 
darwin_install_name
                                                                                                            )
                                                                                                          op: 
                                                                                                            Equal
                                                                                                          rhs: 
                                                                                                            {
                                                                                                              (CommandSubPart
                                                                                                                command_list: 
                                                                                                                  (CommandList
                                                                                                                    children: [
                                                                                                                      (Pipeline
                                                                                                                        children: [
                                                                                                                          (C 
                                                                                                                            {
                                                                                                                              (${ 
VSub_Name OTOOL64
                                                                                                                              )
                                                                                                                            } {(-L)} {($ VSub_Name '$depdepl')}
                                                                                                                          )
                                                                                                                          (C 
                                                                                                                            {
                                                                                                                              (
awk
                                                                                                                              )
                                                                                                                            } {(SQ <'{if (NR == 2) {print $1;exit}}'>)}
                                                                                                                          )
                                                                                                                        ]
                                                                                                                        negated: 
F
                                                                                                                      )
                                                                                                                    ]
                                                                                                                  )
                                                                                                                left_token: 
                                                                                                                  <
Left_Backtick '`'
                                                                                                                  >
                                                                                                                spids: [
32137
32153
                                                                                                                ]
                                                                                                              )
                                                                                                            }
                                                                                                          spids: [
32136
                                                                                                          ]
                                                                                                        )
                                                                                                      ]
                                                                                                      spids: [
32136
                                                                                                      ]
                                                                                                    )
                                                                                                  ]
                                                                                                  spids: [
16777215
32133
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
16777215
32156
                                                                                              ]
                                                                                            )
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
compiler_flags
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      (DQ 
                                                                                                        ($ 
VSub_Name '$compiler_flags'
                                                                                                        ) (' ') (${ VSub_Name wl) ('-dylib_file ') (${ VSub_Name wl) (${ VSub_Name darwin_install_name) (':') 
                                                                                                        (${ 
VSub_Name depdepl
                                                                                                        )
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
32159
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
32159
                                                                                              ]
                                                                                            )
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
linker_flags
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      (DQ 
                                                                                                        ($ 
VSub_Name '$linker_flags'
                                                                                                        ) (' -dylib_file ') (${ VSub_Name darwin_install_name) (':') (${ VSub_Name depdepl)
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
32180
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
32180
                                                                                              ]
                                                                                            )
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
path
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: {(EmptyPart)}
                                                                                                  spids: [
32194
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
32194
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
16777215
32089
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
16777215
32197
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
16777215
32050
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [16777215 32200]
                                                                            )
                                                                          ]
                                                                          spids: [
32007
32012
32203
16777215
                                                                          ]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [{(Lit_Other '*')}]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: path
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ (-L) 
                                                                                        ($ VSub_Name 
'$absdir'
                                                                                        ) (/) ($ VSub_Name '$objdir')
                                                                                      )
                                                                                    }
                                                                                  spids: [32210]
                                                                                )
                                                                              ]
                                                                              spids: [32210]
                                                                            )
                                                                          ]
                                                                          spids: [
32206
32207
32219
16777215
                                                                          ]
                                                                        )
                                                                      ]
                                                                      spids: [32000 32004 32222]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 31997]
                                                                )
                                                              ]
                                                              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: [32231 32245]
                                                                    )
                                                                  }
                                                                )
                                                                (AndOr
                                                                  ops: [Op_DAmp]
                                                                  children: [
                                                                    (C {(test)} {(-z)} 
                                                                      {(DQ ($ VSub_Name '$libdir'))}
                                                                    )
                                                                    (C {(func_fatal_error)} 
                                                                      {
                                                                        (DQ 
                                                                          (EscapedLiteralPart
                                                                            token: 
                                                                              <Lit_EscapedChar 
'\\`'
                                                                              >
                                                                          ) ($ VSub_Name '$deplib') ("' is not a valid libtool archive")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                )
                                                                (AndOr
                                                                  ops: [Op_DAmp]
                                                                  children: [
                                                                    (C {(test)} 
                                                                      {(DQ ($ VSub_Name '$absdir'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$libdir'))}
                                                                    )
                                                                    (C {(func_warning)} 
                                                                      {
                                                                        (DQ 
                                                                          (EscapedLiteralPart
                                                                            token: 
                                                                              <Lit_EscapedChar 
'\\`'
                                                                              >
                                                                          ) ($ VSub_Name '$deplib') ("' seems to be moved")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                )
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:path)
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (DQ (-L) 
                                                                            ($ VSub_Name '$absdir')
                                                                          )
                                                                        }
                                                                      spids: [32296]
                                                                    )
                                                                  ]
                                                                  spids: [32296]
                                                                )
                                                              ]
                                                              spids: [32225 32303]
                                                            )
                                                          ]
                                                          spids: [31862 31864 32306 16777215]
                                                        )
                                                      ]
                                                      spids: [31843 31847 32309]
                                                    )
                                                    (Case
                                                      to_match: 
                                                        {(DQ (' ') ($ VSub_Name '$deplibs') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$path') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [32323 32330 32332 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:deplibs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$path') (' ') 
                                                                        ($ VSub_Name '$deplibs')
                                                                      )
                                                                    }
                                                                  spids: [32338]
                                                                )
                                                              ]
                                                              spids: [32338]
                                                            )
                                                          ]
                                                          spids: [32335 32336 32345 16777215]
                                                        )
                                                      ]
                                                      spids: [32312 32320 32348]
                                                    )
                                                  ]
                                                  spids: [31837 32351]
                                                )
                                              spids: [31833 31835]
                                            )
                                          ]
                                          spids: [16777215 31821]
                                        )
                                      ]
                                      spids: [16777215 32354]
                                    )
                                  ]
                                  spids: [16777215 31513]
                                )
                              ]
                              spids: [16777215 32360]
                            )
                          ]
                          spids: [25241 32366]
                        )
                      spids: [25237 25239]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$pass'))} {(Lit_Other '=')} {(link)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} {(Lit_Other '=')} 
                                          {(DQ (prog))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:compile_deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$new_inherited_linker_flags') (' ') 
                                                ($ VSub_Name '$compile_deplibs')
                                              )
                                            }
                                          spids: [32406]
                                        )
                                      ]
                                      spids: [32406]
                                    )
                                    (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: [32414]
                                        )
                                      ]
                                      spids: [32414]
                                    )
                                  ]
                                  spids: [16777215 32403]
                                )
                              ]
                              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 ('X ') 
                                                            ($ VSub_Name 
'$new_inherited_linker_flags'
                                                            )
                                                          )
                                                        }
                                                      )
                                                      (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                        {
                                                          (SQ 
                                                            <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                            >
                                                          )
                                                        }
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [32430 32447]
                                          )
                                        }
                                      spids: [32425]
                                    )
                                  ]
                                  spids: [32425]
                                )
                              ]
                              spids: [32422 32450]
                            )
                          ]
                          spids: [16777215 32385]
                        )
                      ]
                      spids: [16777215 32453]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dependency_libs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$newdependency_libs'))}
                          spids: [32456]
                        )
                      ]
                      spids: [32456]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$pass'))} {(Lit_Other '=')} {(dlpreopen)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (ForEach
                              iter_name: deplib
                              iter_words: [{($ VSub_Name '$save_deplibs')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                ($ VSub_Name '$deplibs')
                                              )
                                            }
                                          spids: [32494]
                                        )
                                      ]
                                      spids: [32494]
                                    )
                                  ]
                                  spids: [32491 32502]
                                )
                              spids: [32487 32489]
                            )
                          ]
                          spids: [16777215 32475]
                        )
                      ]
                      spids: [16777215 32505]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$pass'))} {(KW_Bang '!') (Lit_Other '=')} 
                                  {(dlopen)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$pass'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} {(conv)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lib_search_path)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [32546]
                                        )
                                      ]
                                      spids: [32546]
                                    )
                                    (ForEach
                                      iter_name: dir
                                      iter_words: [{($ VSub_Name '$newlib_search_path')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {(DQ ($ VSub_Name '$lib_search_path') (' '))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$dir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [32571 32578 32580 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:lib_search_path)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$lib_search_path') 
                                                                (' ') ($ VSub_Name '$dir')
                                                              )
                                                            }
                                                          spids: [32586]
                                                        )
                                                      ]
                                                      spids: [32586]
                                                    )
                                                  ]
                                                  spids: [32583 32584 32593 16777215]
                                                )
                                              ]
                                              spids: [32561 32568 32596]
                                            )
                                          ]
                                          spids: [32558 32599]
                                        )
                                      spids: [32554 32556]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:newlib_search_path)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [32602]
                                        )
                                      ]
                                      spids: [32602]
                                    )
                                  ]
                                  spids: [16777215 32539]
                                )
                              ]
                              spids: [16777215 32605]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} 
                                          {
                                            (DQ ($ VSub_Name '$linkmode') (',') ($ VSub_Name '$pass'))
                                          } {(KW_Bang '!') (Lit_Other '=')} {(DQ ('prog,link'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:vars)
                                          op: Equal
                                          rhs: {(DQ (deplibs))}
                                          spids: [32630]
                                        )
                                      ]
                                      spids: [32630]
                                    )
                                  ]
                                  spids: [16777215 32627]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:vars)
                                      op: Equal
                                      rhs: {(DQ ('compile_deplibs finalize_deplibs'))}
                                      spids: [32639]
                                    )
                                  ]
                                  spids: [32639]
                                )
                              ]
                              spids: [32636 32645]
                            )
                            (ForEach
                              iter_name: var
                              iter_words: [{($ VSub_Name '$vars')} {(dependency_libs)}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(eval)} 
                                      {(Lit_VarLike 'tmp_libs=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ($ VSub_Name '$var') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        )
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:new_libs)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [32675]
                                        )
                                      ]
                                      spids: [32675]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name '$tmp_libs')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {($ VSub_Name '$deplib')}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(-L) (Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:new_libs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$new_libs')
                                                              )
                                                            }
                                                          spids: [32725]
                                                        )
                                                      ]
                                                      spids: [32725]
                                                    )
                                                  ]
                                                  spids: [32721 32723 32732 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(-R) (Lit_Other '*')}]
                                                  spids: [32735 32737 32739 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {
                                                          (DQ (' ') ($ VSub_Name '$specialdeplibs') 
                                                            (' ')
                                                          )
                                                        }
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$deplib') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:new_libs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$deplib') 
                                                                        (' ') ($ VSub_Name '$new_libs')
                                                                      )
                                                                    }
                                                                  spids: [32822]
                                                                )
                                                              ]
                                                              spids: [32822]
                                                            )
                                                          ]
                                                          spids: [32813 32820 32829 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Case
                                                              to_match: 
                                                                {
                                                                  (DQ (' ') ($ VSub_Name '$new_libs') 
                                                                    (' ')
                                                                  )
                                                                }
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') 
                                                                      (DQ (' ') 
                                                                        ($ VSub_Name '$deplib') (' ')
                                                                      ) (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  spids: [32847 32854 32856 16777215]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other '*')}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: new_libs
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name 
'$deplib'
                                                                                ) (' ') ($ VSub_Name '$new_libs')
                                                                              )
                                                                            }
                                                                          spids: [32862]
                                                                        )
                                                                      ]
                                                                      spids: [32862]
                                                                    )
                                                                  ]
                                                                  spids: [32859 32860 32869 16777215]
                                                                )
                                                              ]
                                                              spids: [32836 32844 32872]
                                                            )
                                                          ]
                                                          spids: [32832 32833 32875 16777215]
                                                        )
                                                      ]
                                                      spids: [32802 32810 32878]
                                                    )
                                                  ]
                                                  spids: [32742 32743 32881 16777215]
                                                )
                                              ]
                                              spids: [32714 32718 32884]
                                            )
                                          ]
                                          spids: [32687 32887]
                                        )
                                      spids: [32683 32685]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [32890]
                                        )
                                      ]
                                      spids: [32890]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name '$new_libs')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {($ VSub_Name '$deplib')}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(-L) (Lit_Other '*')}]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(DQ (' ') ($ VSub_Name '$tmp_libs') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$deplib') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [32928 32935 32937 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:tmp_libs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$tmp_libs') 
                                                                        (' ') ($ VSub_Name '$deplib')
                                                                      )
                                                                    }
                                                                  spids: [32943]
                                                                )
                                                              ]
                                                              spids: [32943]
                                                            )
                                                          ]
                                                          spids: [32940 32941 32950 16777215]
                                                        )
                                                      ]
                                                      spids: [32917 32925 32953]
                                                    )
                                                  ]
                                                  spids: [32912 32914 32956 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:tmp_libs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$tmp_libs') (' ') 
                                                                ($ VSub_Name '$deplib')
                                                              )
                                                            }
                                                          spids: [32962]
                                                        )
                                                      ]
                                                      spids: [32962]
                                                    )
                                                  ]
                                                  spids: [32959 32960 32969 16777215]
                                                )
                                              ]
                                              spids: [32905 32909 32972]
                                            )
                                          ]
                                          spids: [32902 32975]
                                        )
                                      spids: [32898 32900]
                                    )
                                    (C {(eval)} 
                                      {($ VSub_Name '$var') (Lit_Other '=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) ($ VSub_Name '$tmp_libs') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                      }
                                    )
                                  ]
                                  spids: [32659 32987]
                                )
                              spids: [32653 32657]
                            )
                          ]
                          spids: [16777215 32522]
                        )
                      ]
                      spids: [16777215 32993]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:tmp_libs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [33004]
                        )
                      ]
                      spids: [33004]
                    )
                    (ForEach
                      iter_name: i
                      iter_words: [{($ VSub_Name '$dependency_libs')}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: 
                                {
                                  (DQ (' ') ($ VSub_Name '$predeps') (' ') ($ VSub_Name '$postdeps') 
                                    (' ') ($ VSub_Name '$compiler_lib_search_path') (' ')
                                  )
                                }
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$i') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:i)
                                          op: Equal
                                          rhs: {(DQ )}
                                          spids: [33045]
                                        )
                                      ]
                                      spids: [33045]
                                    )
                                  ]
                                  spids: [33035 33042 33050 16777215]
                                )
                              ]
                              spids: [33020 33032 33053]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$i'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: 
                                            {(DQ ($ VSub_Name '$tmp_libs') (' ') ($ VSub_Name '$i'))}
                                          spids: [33071]
                                        )
                                      ]
                                      spids: [33071]
                                    )
                                  ]
                                  spids: [16777215 33068]
                                )
                              ]
                              spids: [16777215 33079]
                            )
                          ]
                          spids: [33017 33082]
                        )
                      spids: [33012 33015]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dependency_libs)
                          op: Equal
                          rhs: {($ VSub_Name '$tmp_libs')}
                          spids: [33085]
                        )
                      ]
                      spids: [33085]
                    )
                  ]
                  spids: [24826 33089]
                )
              spids: [24822 24824]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} {(Lit_Other '=')} {(prog)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlfiles)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$newdlfiles'))}
                          spids: [33111]
                        )
                      ]
                      spids: [33111]
                    )
                  ]
                  spids: [16777215 33108]
                )
              ]
              spids: [16777215 33117]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DPipe]
                          children: [
                            (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} {(Lit_Other '=')} {(prog)})
                            (C {(test)} {(DQ ($ VSub_Name '$linkmode'))} {(Lit_Other '=')} {(lib)})
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlprefiles)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$newdlprefiles'))}
                          spids: [33148]
                        )
                      ]
                      spids: [33148]
                    )
                  ]
                  spids: [16777215 33145]
                )
              ]
              spids: [16777215 33154]
            )
            (Case
              to_match: {($ VSub_Name '$linkmode')}
              arms: [
                (case_arm
                  pat_list: [{(oldlib)}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(test)} {(-n)} 
                                      {(DQ ($ VSub_Name '$dlfiles') ($ VSub_Name '$dlprefiles'))}
                                    )
                                    (C {(test)} {(DQ ($ VSub_Name '$dlself'))} 
                                      {(KW_Bang '!') (Lit_Other '=')} {(no)}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_warning)} 
                              {
                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                  ("-dlopen' is ignored for archives")
                                )
                              }
                            )
                          ]
                          spids: [16777215 33194]
                        )
                      ]
                      spids: [16777215 33205]
                    )
                    (Case
                      to_match: {(DQ (' ') ($ VSub_Name '$deplibs'))}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(Lit_Other '*') (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (-l) 
                              (Lit_Other '*')
                            }
                            {(Lit_Other '*') (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (-L) 
                              (Lit_Other '*')
                            }
                          ]
                          action: [
                            (C {(func_warning)} 
                              {
                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-l' and ") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\`'>
                                  ) ("-L' are ignored for archives")
                                )
                              }
                            )
                          ]
                          spids: [33219 33230 33242 16777215]
                        )
                      ]
                      spids: [33209 33216 33245]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$rpath'))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                              ("-rpath' is ignored for archives")
                            )
                          }
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$xrpath'))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                              ("-R' is ignored for archives")
                            )
                          }
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$vinfo'))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                              ("-version-info/-version-number' is ignored for archives")
                            )
                          }
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$release'))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                              ("-release' is ignored for archives")
                            )
                          }
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-n)} 
                          {
                            (DQ ($ VSub_Name '$export_symbols') ($ VSub_Name '$export_symbols_regex'))
                          }
                        )
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                              ("-export-symbols' is ignored for archives")
                            )
                          }
                        )
                      ]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:build_libtool_libs)
                          op: Equal
                          rhs: {(no)}
                          spids: [33359]
                        )
                      ]
                      spids: [33359]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlibs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$output'))}
                          spids: [33363]
                        )
                      ]
                      spids: [33363]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:objs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$objs') ($ VSub_Name '$old_deplibs'))}
                          spids: [33369]
                        )
                      ]
                      spids: [33369]
                    )
                  ]
                  spids: [33165 33166 33376 16777215]
                )
                (case_arm
                  pat_list: [{(lib)}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name '$outputname')}
                      arms: [
                        (case_arm
                          pat_list: [{(lib) (Lit_Other '*')}]
                          action: [
                            (C {(func_stripname)} {(SQ <lib>)} {(SQ <.la>)} 
                              {(DQ ($ VSub_Name '$outputname'))}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                  spids: [33415]
                                )
                              ]
                              spids: [33415]
                            )
                            (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: [33395 33397 33435 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(test)} {(DQ ($ VSub_Name '$module'))} {(Lit_Other '=')} {(no)})
                                (C {(func_fatal_help)} 
                                  {
                                    (DQ ('libtool library ') 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\`'>
                                      ) ($ VSub_Name '$output') ("' must begin with ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ("lib'")
                                    )
                                  }
                                )
                              ]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$need_lib_prefix'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} {(no)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_stripname)} {(SQ )} {(SQ <.la>)} 
                                      {(DQ ($ VSub_Name '$outputname'))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:name)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_stripname_result')}
                                          spids: [33504]
                                        )
                                      ]
                                      spids: [33504]
                                    )
                                    (C {(eval)} 
                                      {(Lit_VarLike 'shared_ext=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) ($ VSub_Name '$shrext_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                      }
                                    )
                                    (C {(eval)} 
                                      {(Lit_VarLike 'libname=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) ($ VSub_Name '$libname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                      }
                                    )
                                  ]
                                  spids: [16777215 33483]
                                )
                              ]
                              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: [33541]
                                    )
                                  ]
                                  spids: [33541]
                                )
                              ]
                              spids: [33524 33545]
                            )
                          ]
                          spids: [33438 33439 33548 16777215]
                        )
                      ]
                      spids: [33388 33392 33551]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$objs'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$deplibs_check_method'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} {(pass_all)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_fatal_error)} 
                                      {
                                        (DQ ('cannot build libtool library ') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\`'>
                                          ) ($ VSub_Name '$output') ("' from non-libtool objects on this host:") ($ VSub_Name '$objs')
                                        )
                                      }
                                    )
                                  ]
                                  spids: [16777215 33583]
                                )
                              ]
                              else_action: [
                                (C {($ VSub_Name '$ECHO')})
                                (C {($ VSub_Name '$ECHO')} 
                                  {
                                    (DQ ('*** Warning: Linking the shared library ') 
                                      ($ VSub_Name '$output') (' against the non-libtool')
                                    )
                                  }
                                )
                                (C {($ VSub_Name '$ECHO')} 
                                  {(DQ ('*** objects ') ($ VSub_Name '$objs') (' is not portable!'))}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:libobjs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$libobjs') (' ') ($ VSub_Name '$objs'))}
                                      spids: [33621]
                                    )
                                  ]
                                  spids: [33621]
                                )
                              ]
                              spids: [33597 33629]
                            )
                          ]
                          spids: [16777215 33566]
                        )
                      ]
                      spids: [16777215 33632]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(DQ ($ VSub_Name '$dlself'))} {(KW_Bang '!') (Lit_Other '=')} {(no)})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                              ("-dlopen self' is ignored for libtool libraries")
                            )
                          }
                        )
                      ]
                    )
                    (C {(set)} {(dummy)} {($ VSub_Name '$rpath')})
                    (C {(shift)})
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(DQ ($ VSub_Pound '$#'))} {(-gt)} {(1)})
                        (C {(func_warning)} 
                          {
                            (DQ ('ignoring multiple ') 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\`'>
                              ) ("-rpath's for a libtool library")
                            )
                          }
                        )
                      ]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:install_libdir)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$1'))}
                          spids: [33694]
                        )
                      ]
                      spids: [33694]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlibs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [33701]
                        )
                      ]
                      spids: [33701]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$rpath'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} 
                                          {(Lit_Other '=')} {(yes)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:oldlibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                ($ VSub_Name '$libname') (.) ($ VSub_Name '$libext') (' ') ($ VSub_Name '$oldlibs')
                                              )
                                            }
                                          spids: [33750]
                                        )
                                      ]
                                      spids: [33750]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:build_libtool_libs)
                                          op: Equal
                                          rhs: {(convenience)}
                                          spids: [33762]
                                        )
                                      ]
                                      spids: [33762]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:build_old_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [33766]
                                        )
                                      ]
                                      spids: [33766]
                                    )
                                  ]
                                  spids: [16777215 33731]
                                )
                              ]
                              spids: [16777215 33770]
                            )
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$vinfo'))})
                                (C {(func_warning)} 
                                  {
                                    (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      (
"-version-info/-version-number' is ignored for convenience libraries"
                                      )
                                    )
                                  }
                                )
                              ]
                            )
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$release'))})
                                (C {(func_warning)} 
                                  {
                                    (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ("-release' is ignored for convenience libraries")
                                    )
                                  }
                                )
                              ]
                            )
                          ]
                          spids: [16777215 33715]
                        )
                      ]
                      else_action: [
                        (Sentence
                          child: 
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:save_ifs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$IFS'))}
                                  spids: [33823]
                                )
                              ]
                              spids: [33823]
                            )
                          terminator: <Op_Semi ';'>
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:IFS)
                              op: Equal
                              rhs: {(SQ <':'>)}
                              spids: [33829]
                            )
                          ]
                          spids: [33829]
                        )
                        (C {(set)} {(dummy)} {($ VSub_Name '$vinfo')} {(0)} {(0)} {(0)})
                        (C {(shift)})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:IFS)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                              spids: [33851]
                            )
                          ]
                          spids: [33851]
                        )
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Number '$7'))})
                            (C {(func_fatal_help)} 
                              {
                                (DQ ('too many parameters to ') 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\`'>
                                  ) ("-version-info'")
                                )
                              }
                            )
                          ]
                        )
                        (Case
                          to_match: {($ VSub_Name '$vinfo_number')}
                          arms: [
                            (case_arm
                              pat_list: [{(yes)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:number_major)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number '$1'))}
                                      spids: [33904]
                                    )
                                  ]
                                  spids: [33904]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:number_minor)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number '$2'))}
                                      spids: [33910]
                                    )
                                  ]
                                  spids: [33910]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:number_revision)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number '$3'))}
                                      spids: [33916]
                                    )
                                  ]
                                  spids: [33916]
                                )
                                (Case
                                  to_match: {($ VSub_Name '$version_type')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(darwin)} {(linux)} {(osf)} {(windows)} {(none)}]
                                      action: [
                                        (C {(func_arith)} {($ VSub_Name '$number_major')} 
                                          {(Lit_Other '+')} {($ VSub_Name '$number_minor')}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:current)
                                              op: Equal
                                              rhs: {($ VSub_Name '$func_arith_result')}
                                              spids: [33978]
                                            )
                                          ]
                                          spids: [33978]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$number_minor'))}
                                              spids: [33982]
                                            )
                                          ]
                                          spids: [33982]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$number_revision'))}
                                              spids: [33988]
                                            )
                                          ]
                                          spids: [33988]
                                        )
                                      ]
                                      spids: [33957 33966 33994 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(freebsd-aout)} {(freebsd-elf)} {(sunos)}]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:current)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$number_major'))}
                                              spids: [34005]
                                            )
                                          ]
                                          spids: [34005]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$number_minor'))}
                                              spids: [34011]
                                            )
                                          ]
                                          spids: [34011]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {(DQ (0))}
                                              spids: [34017]
                                            )
                                          ]
                                          spids: [34017]
                                        )
                                      ]
                                      spids: [33997 34002 34023 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(irix)} {(nonstopux)}]
                                      action: [
                                        (C {(func_arith)} {($ VSub_Name '$number_major')} 
                                          {(Lit_Other '+')} {($ VSub_Name '$number_minor')}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:current)
                                              op: Equal
                                              rhs: {($ VSub_Name '$func_arith_result')}
                                              spids: [34041]
                                            )
                                          ]
                                          spids: [34041]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$number_minor'))}
                                              spids: [34045]
                                            )
                                          ]
                                          spids: [34045]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$number_minor'))}
                                              spids: [34051]
                                            )
                                          ]
                                          spids: [34051]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:lt_irix_increment)
                                              op: Equal
                                              rhs: {(no)}
                                              spids: [34057]
                                            )
                                          ]
                                          spids: [34057]
                                        )
                                      ]
                                      spids: [34026 34029 34061 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other '*')}]
                                      action: [
                                        (C {(func_fatal_configuration)} 
                                          {
                                            (DQ ($ VSub_Name '$modename') 
                                              (': unknown library version type ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$version_type') ("'")
                                            )
                                          }
                                        )
                                      ]
                                      spids: [34064 34065 34079 16777215]
                                    )
                                  ]
                                  spids: [33950 33954 34082]
                                )
                              ]
                              spids: [33900 33901 34085 16777215]
                            )
                            (case_arm
                              pat_list: [{(no)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:current)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number '$1'))}
                                      spids: [34092]
                                    )
                                  ]
                                  spids: [34092]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:revision)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number '$2'))}
                                      spids: [34098]
                                    )
                                  ]
                                  spids: [34098]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:age)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number '$3'))}
                                      spids: [34104]
                                    )
                                  ]
                                  spids: [34104]
                                )
                              ]
                              spids: [34088 34089 34110 16777215]
                            )
                          ]
                          spids: [33893 33897 34113]
                        )
                        (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: [34128 34179 34181 16777215]
                            )
                            (case_arm
                              pat_list: [{(Lit_Other '*')}]
                              action: [
                                (C {(func_error)} 
                                  {
                                    (DQ ('CURRENT ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ($ VSub_Name '$current') ("' must be a nonnegative integer")
                                    )
                                  }
                                )
                                (C {(func_fatal_error)} 
                                  {
                                    (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ($ VSub_Name '$vinfo') ("' is not valid version information")
                                    )
                                  }
                                )
                              ]
                              spids: [34184 34185 34207 16777215]
                            )
                          ]
                          spids: [34121 34125 34210]
                        )
                        (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: [34221 34272 34274 16777215]
                            )
                            (case_arm
                              pat_list: [{(Lit_Other '*')}]
                              action: [
                                (C {(func_error)} 
                                  {
                                    (DQ ('REVISION ') 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\`'>
                                      ) ($ VSub_Name '$revision') ("' must be a nonnegative integer")
                                    )
                                  }
                                )
                                (C {(func_fatal_error)} 
                                  {
                                    (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ($ VSub_Name '$vinfo') ("' is not valid version information")
                                    )
                                  }
                                )
                              ]
                              spids: [34277 34278 34300 16777215]
                            )
                          ]
                          spids: [34214 34218 34303]
                        )
                        (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: [34314 34365 34367 16777215]
                            )
                            (case_arm
                              pat_list: [{(Lit_Other '*')}]
                              action: [
                                (C {(func_error)} 
                                  {
                                    (DQ ('AGE ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ($ VSub_Name '$age') ("' must be a nonnegative integer")
                                    )
                                  }
                                )
                                (C {(func_fatal_error)} 
                                  {
                                    (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ($ VSub_Name '$vinfo') ("' is not valid version information")
                                    )
                                  }
                                )
                              ]
                              spids: [34370 34371 34393 16777215]
                            )
                          ]
                          spids: [34307 34311 34396]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(test)} {(DQ ($ VSub_Name '$age'))} {(-gt)} 
                                      {(DQ ($ VSub_Name '$current'))}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (C {(func_error)} 
                                  {
                                    (DQ ('AGE ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ($ VSub_Name '$age') ("' is greater than the current interface number ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ($ VSub_Name '$current') ("'")
                                    )
                                  }
                                )
                                (C {(func_fatal_error)} 
                                  {
                                    (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                      ($ VSub_Name '$vinfo') ("' is not valid version information")
                                    )
                                  }
                                )
                              ]
                              spids: [16777215 34415]
                            )
                          ]
                          spids: [16777215 34440]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:major)
                              op: Equal
                              rhs: {(EmptyPart)}
                              spids: [34448]
                            )
                          ]
                          spids: [34448]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:versuffix)
                              op: Equal
                              rhs: {(EmptyPart)}
                              spids: [34451]
                            )
                          ]
                          spids: [34451]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:verstring)
                              op: Equal
                              rhs: {(EmptyPart)}
                              spids: [34454]
                            )
                          ]
                          spids: [34454]
                        )
                        (Case
                          to_match: {($ VSub_Name '$version_type')}
                          arms: [
                            (case_arm
                              pat_list: [{(none)}]
                              spids: [34464 34465 34467 16777215]
                            )
                            (case_arm
                              pat_list: [{(darwin)}]
                              action: [
                                (C {(func_arith)} {($ VSub_Name '$current')} {(-)} {($ VSub_Name '$age')})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$func_arith_result')}
                                      spids: [34492]
                                    )
                                  ]
                                  spids: [34492]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$major') (.) ($ VSub_Name '$age') (.) 
                                            ($ VSub_Name '$revision')
                                          )
                                        }
                                      spids: [34497]
                                    )
                                  ]
                                  spids: [34497]
                                )
                                (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: [34520]
                                    )
                                  ]
                                  spids: [34520]
                                )
                                (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: [34524]
                                    )
                                  ]
                                  spids: [34524]
                                )
                                (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: [34548]
                                    )
                                  ]
                                  spids: [34548]
                                )
                              ]
                              spids: [34471 34472 34559 16777215]
                            )
                            (case_arm
                              pat_list: [{(freebsd-aout)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(DQ (.) ($ VSub_Name '$current'))}
                                      spids: [34567]
                                    )
                                  ]
                                  spids: [34567]
                                )
                                (Sentence
                                  child: 
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:versuffix)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ (.) ($ VSub_Name '$current') (.) 
                                                ($ VSub_Name '$revision')
                                              )
                                            }
                                          spids: [34574]
                                        )
                                      ]
                                      spids: [34574]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              spids: [34563 34564 34584 16777215]
                            )
                            (case_arm
                              pat_list: [{(freebsd-elf)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(DQ (.) ($ VSub_Name '$current'))}
                                      spids: [34592]
                                    )
                                  ]
                                  spids: [34592]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(DQ (.) ($ VSub_Name '$current'))}
                                      spids: [34599]
                                    )
                                  ]
                                  spids: [34599]
                                )
                              ]
                              spids: [34588 34589 34606 16777215]
                            )
                            (case_arm
                              pat_list: [{(irix)} {(nonstopux)}]
                              action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(test)} {(DQ (X) ($ VSub_Name '$lt_irix_increment'))} 
                                              {(Lit_Other '=')} {(DQ (Xno))}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(func_arith)} {($ VSub_Name '$current')} {(-)} 
                                          {($ VSub_Name '$age')}
                                        )
                                      ]
                                      spids: [16777215 34634]
                                    )
                                  ]
                                  else_action: [
                                    (C {(func_arith)} {($ VSub_Name '$current')} {(-)} 
                                      {($ VSub_Name '$age')} {(Lit_Other '+')} {(1)}
                                    )
                                  ]
                                  spids: [34646 34662]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {($ VSub_Name '$func_arith_result')}
                                      spids: [34665]
                                    )
                                  ]
                                  spids: [34665]
                                )
                                (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: [34680]
                                            )
                                          ]
                                          spids: [34680]
                                        )
                                      ]
                                      spids: [34677 34678 34683 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other '*')}]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring_prefix)
                                              op: Equal
                                              rhs: {(sgi)}
                                              spids: [34689]
                                            )
                                          ]
                                          spids: [34689]
                                        )
                                      ]
                                      spids: [34686 34687 34692 16777215]
                                    )
                                  ]
                                  spids: [34670 34674 34695]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:verstring)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$verstring_prefix') ($ VSub_Name '$major') 
                                            (.) ($ VSub_Name '$revision')
                                          )
                                        }
                                      spids: [34698]
                                    )
                                  ]
                                  spids: [34698]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:loop)
                                      op: Equal
                                      rhs: {($ VSub_Name '$revision')}
                                      spids: [34712]
                                    )
                                  ]
                                  spids: [34712]
                                )
                                (WhileUntil
                                  keyword: <KW_While while>
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(DQ ($ VSub_Name '$loop'))} {(-ne)} {(0)})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  body: 
                                    (DoGroup
                                      children: [
                                        (C {(func_arith)} {($ VSub_Name '$revision')} {(-)} 
                                          {($ VSub_Name '$loop')}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:iface)
                                              op: Equal
                                              rhs: {($ VSub_Name '$func_arith_result')}
                                              spids: [34741]
                                            )
                                          ]
                                          spids: [34741]
                                        )
                                        (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: [34754]
                                            )
                                          ]
                                          spids: [34754]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$verstring_prefix') 
                                                    ($ VSub_Name '$major') (.) ($ VSub_Name '$iface') (':') ($ VSub_Name '$verstring')
                                                  )
                                                }
                                              spids: [34758]
                                            )
                                          ]
                                          spids: [34758]
                                        )
                                      ]
                                      spids: [34729 34769]
                                    )
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$major')}
                                      spids: [34777]
                                    )
                                  ]
                                  spids: [34777]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$major') (.) ($ VSub_Name '$revision'))}
                                      spids: [34782]
                                    )
                                  ]
                                  spids: [34782]
                                )
                              ]
                              spids: [34610 34615 34790 16777215]
                            )
                            (case_arm
                              pat_list: [{(linux)}]
                              action: [
                                (C {(func_arith)} {($ VSub_Name '$current')} {(-)} {($ VSub_Name '$age')})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$func_arith_result')}
                                      spids: [34807]
                                    )
                                  ]
                                  spids: [34807]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$major') (.) ($ VSub_Name '$age') (.) 
                                            ($ VSub_Name '$revision')
                                          )
                                        }
                                      spids: [34812]
                                    )
                                  ]
                                  spids: [34812]
                                )
                              ]
                              spids: [34794 34795 34822 16777215]
                            )
                            (case_arm
                              pat_list: [{(osf)}]
                              action: [
                                (C {(func_arith)} {($ VSub_Name '$current')} {(-)} {($ VSub_Name '$age')})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$func_arith_result')}
                                      spids: [34839]
                                    )
                                  ]
                                  spids: [34839]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ (.) ($ VSub_Name '$current') (.) ($ VSub_Name '$age') (.) 
                                            ($ VSub_Name '$revision')
                                          )
                                        }
                                      spids: [34844]
                                    )
                                  ]
                                  spids: [34844]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:verstring)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$current') (.) ($ VSub_Name '$age') (.) 
                                            ($ VSub_Name '$revision')
                                          )
                                        }
                                      spids: [34855]
                                    )
                                  ]
                                  spids: [34855]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:loop)
                                      op: Equal
                                      rhs: {($ VSub_Name '$age')}
                                      spids: [34870]
                                    )
                                  ]
                                  spids: [34870]
                                )
                                (WhileUntil
                                  keyword: <KW_While while>
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(DQ ($ VSub_Name '$loop'))} {(-ne)} {(0)})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  body: 
                                    (DoGroup
                                      children: [
                                        (C {(func_arith)} {($ VSub_Name '$current')} {(-)} 
                                          {($ VSub_Name '$loop')}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:iface)
                                              op: Equal
                                              rhs: {($ VSub_Name '$func_arith_result')}
                                              spids: [34899]
                                            )
                                          ]
                                          spids: [34899]
                                        )
                                        (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: [34912]
                                            )
                                          ]
                                          spids: [34912]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$verstring') (':') 
                                                    (${ VSub_Name iface) (.0)
                                                  )
                                                }
                                              spids: [34916]
                                            )
                                          ]
                                          spids: [34916]
                                        )
                                      ]
                                      spids: [34887 34927]
                                    )
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:verstring)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$verstring') (':') (${ VSub_Name current) 
                                            (.0)
                                          )
                                        }
                                      spids: [34935]
                                    )
                                  ]
                                  spids: [34935]
                                )
                              ]
                              spids: [34826 34827 34946 16777215]
                            )
                            (case_arm
                              pat_list: [{(qnx)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(DQ (.) ($ VSub_Name '$current'))}
                                      spids: [34954]
                                    )
                                  ]
                                  spids: [34954]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(DQ (.) ($ VSub_Name '$current'))}
                                      spids: [34961]
                                    )
                                  ]
                                  spids: [34961]
                                )
                              ]
                              spids: [34950 34951 34968 16777215]
                            )
                            (case_arm
                              pat_list: [{(sunos)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(DQ (.) ($ VSub_Name '$current'))}
                                      spids: [34976]
                                    )
                                  ]
                                  spids: [34976]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ (.) ($ VSub_Name '$current') (.) ($ VSub_Name '$revision'))
                                        }
                                      spids: [34983]
                                    )
                                  ]
                                  spids: [34983]
                                )
                              ]
                              spids: [34972 34973 34992 16777215]
                            )
                            (case_arm
                              pat_list: [{(windows)}]
                              action: [
                                (C {(func_arith)} {($ VSub_Name '$current')} {(-)} {($ VSub_Name '$age')})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {($ VSub_Name '$func_arith_result')}
                                      spids: [35017]
                                    )
                                  ]
                                  spids: [35017]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(DQ (-) ($ VSub_Name '$major'))}
                                      spids: [35021]
                                    )
                                  ]
                                  spids: [35021]
                                )
                              ]
                              spids: [34996 34997 35028 16777215]
                            )
                            (case_arm
                              pat_list: [{(Lit_Other '*')}]
                              action: [
                                (C {(func_fatal_configuration)} 
                                  {
                                    (DQ ('unknown library version type ') 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\`'>
                                      ) ($ VSub_Name '$version_type') ("'")
                                    )
                                  }
                                )
                              ]
                              spids: [35032 35033 35046 16777215]
                            )
                          ]
                          spids: [34457 34461 35049]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$vinfo'))})
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$release'))})
                                      ]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(EmptyPart)}
                                      spids: [35081]
                                    )
                                  ]
                                  spids: [35081]
                                )
                                (Case
                                  to_match: {($ VSub_Name '$version_type')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(darwin)}]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring)
                                              op: Equal
                                              rhs: {(EmptyPart)}
                                              spids: [35103]
                                            )
                                          ]
                                          spids: [35103]
                                        )
                                      ]
                                      spids: [35091 35092 35106 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other '*')}]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring)
                                              op: Equal
                                              rhs: {(DQ (0.0))}
                                              spids: [35113]
                                            )
                                          ]
                                          spids: [35113]
                                        )
                                      ]
                                      spids: [35109 35110 35119 16777215]
                                    )
                                  ]
                                  spids: [35084 35088 35122]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(test)} {(DQ ($ VSub_Name '$need_version'))} 
                                              {(Lit_Other '=')} {(no)}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:versuffix)
                                              op: Equal
                                              rhs: {(EmptyPart)}
                                              spids: [35141]
                                            )
                                          ]
                                          spids: [35141]
                                        )
                                      ]
                                      spids: [16777215 35138]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:versuffix)
                                          op: Equal
                                          rhs: {(DQ (.0.0))}
                                          spids: [35147]
                                        )
                                      ]
                                      spids: [35147]
                                    )
                                  ]
                                  spids: [35144 35153]
                                )
                              ]
                              spids: [16777215 35078]
                            )
                          ]
                          spids: [16777215 35156]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(DQ ($ VSub_Name '$avoid_version'))} 
                                          {(Lit_Other '=')} {(yes)}
                                        )
                                        (C {(test)} {(DQ ($ VSub_Name '$need_version'))} 
                                          {(Lit_Other '=')} {(no)}
                                        )
                                      ]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(EmptyPart)}
                                      spids: [35192]
                                    )
                                  ]
                                  spids: [35192]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(EmptyPart)}
                                      spids: [35195]
                                    )
                                  ]
                                  spids: [35195]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:verstring)
                                      op: Equal
                                      rhs: {(DQ )}
                                      spids: [35198]
                                    )
                                  ]
                                  spids: [35198]
                                )
                              ]
                              spids: [16777215 35189]
                            )
                          ]
                          spids: [16777215 35203]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(test)} {(DQ ($ VSub_Name '$allow_undefined'))} 
                                      {(Lit_Other '=')} {(yes)}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(test)} {(DQ ($ VSub_Name '$allow_undefined_flag'))} 
                                              {(Lit_Other '=')} {(unsupported)}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(func_warning)} 
                                          {
                                            (DQ ('undefined symbols not allowed in ') 
                                              ($ VSub_Name '$host') (' shared libraries')
                                            )
                                          }
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:build_libtool_libs)
                                              op: Equal
                                              rhs: {(no)}
                                              spids: [35252]
                                            )
                                          ]
                                          spids: [35252]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:build_old_libs)
                                              op: Equal
                                              rhs: {(yes)}
                                              spids: [35256]
                                            )
                                          ]
                                          spids: [35256]
                                        )
                                      ]
                                      spids: [16777215 35240]
                                    )
                                  ]
                                  spids: [16777215 35260]
                                )
                              ]
                              spids: [16777215 35224]
                            )
                          ]
                          else_action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:allow_undefined_flag)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$no_undefined_flag'))}
                                  spids: [35270]
                                )
                              ]
                              spids: [35270]
                            )
                          ]
                          spids: [35263 35276]
                        )
                      ]
                      spids: [33815 35280]
                    )
                    (C {(func_generate_dlsyms)} {(DQ ($ VSub_Name '$libname'))} 
                      {(DQ ($ VSub_Name '$libname'))} {(DQ (yes))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:libobjs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$libobjs') (' ') ($ VSub_Name '$symfileobj'))}
                          spids: [35299]
                        )
                      ]
                      spids: [35299]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(DQ (X) ($ VSub_Name '$libobjs'))} {(Lit_Other '=')} {(DQ ('X '))})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:libobjs)
                              op: Equal
                              rhs: {(EmptyPart)}
                              spids: [35322]
                            )
                          ]
                          spids: [35322]
                        )
                      ]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(KW_Bang '!') (Lit_Other '=')} 
                                  {(relink)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:removelist)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [35351]
                                )
                              ]
                              spids: [35351]
                            )
                            (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: [35355 35362]
                                      )
                                    }
                                  spids: [35354]
                                )
                              ]
                              spids: [35354]
                            )
                            (ForEach
                              iter_name: p
                              iter_words: [{($ VSub_Name '$tempremovelist')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {($ VSub_Name '$p')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (.) ($ VSub_Name '$objext')}
                                            {(Lit_Other '*') (.gcno)}
                                          ]
                                          spids: [35384 35392 35395 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {($ VSub_Name '$output_objdir') (/) 
                                              ($ VSub_Name '$outputname')
                                            }
                                            {($ VSub_Name '$output_objdir') (/) 
                                              ($ VSub_Name '$libname') (.) (Lit_Other '*')
                                            }
                                            {($ VSub_Name '$output_objdir') (/) 
                                              (${ VSub_Name libname) (${ VSub_Name release) (.) (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {
                                                            (DQ (X) 
                                                              ($ VSub_Name '$precious_files_regex')
                                                            )
                                                          } {(KW_Bang '!') (Lit_Other '=')} {(DQ (X))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Pipeline
                                                              children: [
                                                                (C {($ VSub_Name '$ECHO')} 
                                                                  {(DQ ($ VSub_Name '$p'))}
                                                                )
                                                                (SimpleCommand
                                                                  words: [
                                                                    {($ VSub_Name '$EGREP')}
                                                                    {(-e)}
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$precious_files_regex'
                                                                        )
                                                                      )
                                                                    }
                                                                  ]
                                                                  redirects: [
                                                                    (Redir
                                                                      op: <Redir_Great '>'>
                                                                      fd: 16777215
                                                                      arg_word: {(/dev/null)}
                                                                    )
                                                                    (Redir
                                                                      op: <Redir_GreatAnd '2>&'>
                                                                      fd: 2
                                                                      arg_word: {(1)}
                                                                    )
                                                                  ]
                                                                )
                                                              ]
                                                              negated: F
                                                            )
                                                          ]
                                                          action: [
                                                            (ControlFlow
                                                              token: <ControlFlow_Continue continue>
                                                            )
                                                          ]
                                                          spids: [16777215 35470]
                                                        )
                                                      ]
                                                      spids: [16777215 35476]
                                                    )
                                                  ]
                                                  spids: [16777215 35442]
                                                )
                                              ]
                                              spids: [16777215 35479]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:removelist)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$removelist') (' ') 
                                                        ($ VSub_Name '$p')
                                                      )
                                                    }
                                                  spids: [35482]
                                                )
                                              ]
                                              spids: [35482]
                                            )
                                          ]
                                          spids: [35398 35422 35490 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          spids: [35493 35494 35496 16777215]
                                        )
                                      ]
                                      spids: [35377 35381 35499]
                                    )
                                  ]
                                  spids: [35374 35502]
                                )
                              spids: [35370 35372]
                            )
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$removelist'))})
                                (C {(func_show_eval)} 
                                  {
                                    (DQ (${ VSub_Name RM) ('r ') 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\$'>
                                      ) (removelist)
                                    )
                                  }
                                )
                              ]
                            )
                          ]
                          spids: [16777215 35340]
                        )
                      ]
                      spids: [16777215 35529]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(DQ ($ VSub_Name '$build_old_libs'))} {(Lit_Other '=')} 
                                      {(yes)}
                                    )
                                    (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} 
                                      {(KW_Bang '!') (Lit_Other '=')} {(convenience)}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldlibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$oldlibs') (' ') ($ VSub_Name '$output_objdir') 
                                        (/) ($ VSub_Name '$libname') (.) ($ VSub_Name '$libext')
                                      )
                                    }
                                  spids: [35567]
                                )
                              ]
                              spids: [35567]
                            )
                            (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 (X) ($ VSub_Name '$libobjs'))}
                                                  )
                                                  (C {($ VSub_Name '$SP2NL')})
                                                  (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                    {(SQ <'/\\.'>) (${ VSub_Name libext) (SQ <'$/d'>)} {(-e)} {(DQ ($ VSub_Name '$lo2o'))}
                                                  )
                                                  (C {($ VSub_Name '$NL2SP')})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [35589 35626]
                                      )
                                    }
                                  spids: [35584]
                                )
                              ]
                              spids: [35584]
                            )
                          ]
                          spids: [16777215 35564]
                        )
                      ]
                      spids: [16777215 35629]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$xrpath'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:temp_xrpath)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [35676]
                                )
                              ]
                              spids: [35676]
                            )
                            (ForEach
                              iter_name: libdir
                              iter_words: [{($ VSub_Name '$xrpath')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:temp_xrpath)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$temp_xrpath') (' -R') 
                                                ($ VSub_Name '$libdir')
                                              )
                                            }
                                          spids: [35691]
                                        )
                                      ]
                                      spids: [35691]
                                    )
                                    (Case
                                      to_match: {(DQ ($ VSub_Name '$finalize_rpath') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$libdir') (' ')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [35709 35716 35718 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_rpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$finalize_rpath') (' ') 
                                                        ($ VSub_Name '$libdir')
                                                      )
                                                    }
                                                  spids: [35724]
                                                )
                                              ]
                                              spids: [35724]
                                            )
                                          ]
                                          spids: [35721 35722 35731 16777215]
                                        )
                                      ]
                                      spids: [35699 35706 35734]
                                    )
                                  ]
                                  spids: [35688 35737]
                                )
                              spids: [35684 35686]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DPipe]
                                          children: [
                                            (C {(test)} {(DQ ($ VSub_Name '$hardcode_into_libs'))} 
                                              {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                            )
                                            (C {(test)} {(DQ ($ VSub_Name '$build_old_libs'))} 
                                              {(Lit_Other '=')} {(yes)}
                                            )
                                          ]
                                        )
                                      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: [35769]
                                        )
                                      ]
                                      spids: [35769]
                                    )
                                  ]
                                  spids: [16777215 35766]
                                )
                              ]
                              spids: [16777215 35777]
                            )
                          ]
                          spids: [16777215 35669]
                        )
                      ]
                      spids: [16777215 35780]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_dlfiles)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$dlfiles'))}
                          spids: [35788]
                        )
                      ]
                      spids: [35788]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlfiles)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [35794]
                        )
                      ]
                      spids: [35794]
                    )
                    (ForEach
                      iter_name: lib
                      iter_words: [{($ VSub_Name '$old_dlfiles')}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: 
                                {
                                  (DQ (' ') ($ VSub_Name '$dlprefiles') (' ') ($ VSub_Name '$dlfiles') 
                                    (' ')
                                  )
                                }
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$lib') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  spids: [35822 35829 35831 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlfiles)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$dlfiles') (' ') ($ VSub_Name '$lib'))
                                            }
                                          spids: [35837]
                                        )
                                      ]
                                      spids: [35837]
                                    )
                                  ]
                                  spids: [35834 35835 35844 16777215]
                                )
                              ]
                              spids: [35809 35819 35847]
                            )
                          ]
                          spids: [35806 35850]
                        )
                      spids: [35802 35804]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_dlprefiles)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$dlprefiles'))}
                          spids: [35858]
                        )
                      ]
                      spids: [35858]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlprefiles)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [35864]
                        )
                      ]
                      spids: [35864]
                    )
                    (ForEach
                      iter_name: lib
                      iter_words: [{($ VSub_Name '$old_dlprefiles')}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {(DQ ($ VSub_Name '$dlprefiles') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$lib') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  spids: [35889 35896 35898 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlprefiles)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$dlprefiles') (' ') 
                                                ($ VSub_Name '$lib')
                                              )
                                            }
                                          spids: [35904]
                                        )
                                      ]
                                      spids: [35904]
                                    )
                                  ]
                                  spids: [35901 35902 35911 16777215]
                                )
                              ]
                              spids: [35879 35886 35914]
                            )
                          ]
                          spids: [35876 35917]
                        )
                      spids: [35872 35874]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} {(Lit_Other '=')} 
                                  {(yes)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$rpath'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name '$host')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-cygwin) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-mingw) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-pw32) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-os2) (Lit_Other '*')}
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-beos) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-cegcc) (Lit_Other '*')}
                                          ]
                                          spids: [35958 36001 36008 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-rhapsody) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-darwin1.) 
                                              (Lit_Other '[') (012) (Lit_Other ']')
                                            }
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplibs') 
                                                        (' System.ltframework')
                                                      )
                                                    }
                                                  spids: [36033]
                                                )
                                              ]
                                              spids: [36033]
                                            )
                                          ]
                                          spids: [36011 36026 36040 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-netbsd) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [36043 36048 36055 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-openbsd) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-freebsd) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-dragonfly) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [36058 36079 36086 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sco3.2v5) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sco5v6) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [36089 36102 36109 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sysv4.2uw2) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sysv5) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-unixware) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-OpenUNIX) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [36112 36141 36148 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name '$build_libtool_need_lc')
                                                            )
                                                          } {(Lit_Other '=')} {(DQ (yes))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: {(DQ ($ VSub_Name '$deplibs') (' -lc'))}
                                                          spids: [36177]
                                                        )
                                                      ]
                                                      spids: [36177]
                                                    )
                                                  ]
                                                  spids: [16777215 36174]
                                                )
                                              ]
                                              spids: [16777215 36184]
                                            )
                                          ]
                                          spids: [36151 36152 36187 16777215]
                                        )
                                      ]
                                      spids: [35951 35955 36190]
                                    )
                                  ]
                                  spids: [16777215 35948]
                                )
                              ]
                              spids: [16777215 36193]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$name')}
                                  spids: [36201]
                                )
                              ]
                              spids: [36201]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libname_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$libname')}
                                  spids: [36205]
                                )
                              ]
                              spids: [36205]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$release')}
                                  spids: [36209]
                                )
                              ]
                              spids: [36209]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$versuffix')}
                                  spids: [36213]
                                )
                              ]
                              spids: [36213]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$major')}
                                  spids: [36217]
                                )
                              ]
                              spids: [36217]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [36233]
                                )
                              ]
                              spids: [36233]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [36238]
                                )
                              ]
                              spids: [36238]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [36243]
                                )
                              ]
                              spids: [36243]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:newdeplibs)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [36248]
                                )
                              ]
                              spids: [36248]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:droppeddeps)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [36251]
                                )
                              ]
                              spids: [36251]
                            )
                            (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: [36286]
                                        )
                                      ]
                                      spids: [36286]
                                    )
                                  ]
                                  spids: [36262 36263 36290 16777215]
                                )
                                (case_arm
                                  pat_list: [{(test_compile)}]
                                  action: [
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (C {($ VSub_Name '$RM')} {(conftest.c)})
                                      ]
                                    )
                                    (SimpleCommand
                                      words: [{(cat)}]
                                      redirects: [
                                        (Redir
                                          op: <Redir_Great '>'>
                                          fd: 16777215
                                          arg_word: {(conftest.c)}
                                        )
                                        (HereDoc
                                          op: <Redir_DLess '<<'>
                                          fd: 16777215
                                          here_begin: {(EOF)}
                                          here_end_span_id: 36333
                                          stdin_parts: [('\t  int main() { return 0; }\n')]
                                        )
                                      ]
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (C {($ VSub_Name '$RM')} {(conftest)})
                                      ]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {($ VSub_Name '$LTCC')} {($ VSub_Name '$LTCFLAGS')} 
                                                  {(-o)} {(conftest)} {(conftest.c)} {($ VSub_Name '$deplibs')}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:ldd_output)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [(C {(ldd)} {(conftest)})]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [36363 36367]
                                                      )
                                                    }
                                                  spids: [36362]
                                                )
                                              ]
                                              spids: [36362]
                                            )
                                            (ForEach
                                              iter_name: i
                                              iter_words: [{($ VSub_Name '$deplibs')}]
                                              do_arg_iter: F
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Case
                                                      to_match: {($ VSub_Name '$i')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(-l) (Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_stripname)} {(-l)} {(SQ )} 
                                                              {(DQ ($ VSub_Name '$i'))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:name)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      ($ VSub_Name 
'$func_stripname_result'
                                                                      )
                                                                    }
                                                                  spids: [36406]
                                                                )
                                                              ]
                                                              spids: [36406]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} 
                                                                          {
                                                                            (DQ (X) 
                                                                              ($ VSub_Name 
'$allow_libtool_libs_with_static_runtimes'
                                                                              )
                                                                            )
                                                                          } {(Lit_Other '=')} {(DQ (Xyes))}
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Case
                                                                      to_match: 
                                                                        {
                                                                          (DQ (' ') 
                                                                            ($ VSub_Name '$predeps') (' ') ($ VSub_Name '$postdeps') (' ')
                                                                          )
                                                                        }
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(Lit_Other '*') 
                                                                              (DQ (' ') 
                                                                                ($ VSub_Name '$i') (' ')
                                                                              ) (Lit_Other '*')
                                                                            }
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: 
newdeplibs
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
'$newdeplibs'
                                                                                        ) (' ') ($ VSub_Name '$i')
                                                                                      )
                                                                                    }
                                                                                  spids: [36453]
                                                                                )
                                                                              ]
                                                                              spids: [36453]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: i
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(DQ )}
                                                                                  spids: [36461]
                                                                                )
                                                                              ]
                                                                              spids: [36461]
                                                                            )
                                                                          ]
                                                                          spids: [
36443
36450
36466
16777215
                                                                          ]
                                                                        )
                                                                      ]
                                                                      spids: [36430 36440 36469]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 36427]
                                                                )
                                                              ]
                                                              spids: [16777215 36472]
                                                            )
                                                            (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: [36491 36502]
                                                                              )
                                                                            }
                                                                          spids: [36490]
                                                                        )
                                                                      ]
                                                                      spids: [36490]
                                                                    )
                                                                    (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: [36506 36517]
                                                                              )
                                                                            }
                                                                          spids: [36505]
                                                                        )
                                                                      ]
                                                                      spids: [36505]
                                                                    )
                                                                    (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: [36530]
                                                                        )
                                                                      ]
                                                                      spids: [36530]
                                                                    )
                                                                    (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: [
36538
36551
                                                                                      ]
                                                                                    )
                                                                                  } {(-ne)} {(0)}
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ';'>
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: 
newdeplibs
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
'$newdeplibs'
                                                                                        ) (' ') ($ VSub_Name '$i')
                                                                                      )
                                                                                    }
                                                                                  spids: [36562]
                                                                                )
                                                                              ]
                                                                              spids: [36562]
                                                                            )
                                                                          ]
                                                                          spids: [16777215 36559]
                                                                        )
                                                                      ]
                                                                      else_action: [
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (LhsName
                                                                                  name: droppeddeps
                                                                                )
                                                                              op: Equal
                                                                              rhs: {(yes)}
                                                                              spids: [36573]
                                                                            )
                                                                          ]
                                                                          spids: [36573]
                                                                        )
                                                                        (C {($ VSub_Name '$ECHO')})
                                                                        (C {($ VSub_Name '$ECHO')} 
                                                                          {
                                                                            (DQ 
                                                                              (
'*** Warning: dynamic linker does not accept needed library '
                                                                              ) ($ VSub_Name '$i') (.)
                                                                            )
                                                                          }
                                                                        )
                                                                        (C {($ VSub_Name '$ECHO')} 
                                                                          {
                                                                            (DQ 
                                                                              (
'*** I have the capability to make that library automatically link in when'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                        (C {($ VSub_Name '$ECHO')} 
                                                                          {
                                                                            (DQ 
                                                                              (
'*** you link to this library.  But I can only do this if you have a'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                        (C {($ VSub_Name '$ECHO')} 
                                                                          {
                                                                            (DQ 
                                                                              (
'*** shared version of the library, which I believe you do not have'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                        (C {($ VSub_Name '$ECHO')} 
                                                                          {
                                                                            (DQ 
                                                                              (
'*** because a test_compile did reveal that the linker did not use it for'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                        (C {($ VSub_Name '$ECHO')} 
                                                                          {
                                                                            (DQ 
                                                                              (
'*** its dynamic dependency list that programs get resolved with at runtime.'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                      ]
                                                                      spids: [36570 36624]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 36487]
                                                                )
                                                              ]
                                                              spids: [16777215 36627]
                                                            )
                                                          ]
                                                          spids: [36389 36391 36630 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:newdeplibs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$newdeplibs') 
                                                                        (' ') ($ VSub_Name '$i')
                                                                      )
                                                                    }
                                                                  spids: [36637]
                                                                )
                                                              ]
                                                              spids: [36637]
                                                            )
                                                          ]
                                                          spids: [36633 36634 36645 16777215]
                                                        )
                                                      ]
                                                      spids: [36382 36386 36648]
                                                    )
                                                  ]
                                                  spids: [36379 36651]
                                                )
                                              spids: [36375 36377]
                                            )
                                          ]
                                          spids: [16777215 36359]
                                        )
                                      ]
                                      else_action: [
                                        (ForEach
                                          iter_name: i
                                          iter_words: [{($ VSub_Name '$deplibs')}]
                                          do_arg_iter: F
                                          body: 
                                            (DoGroup
                                              children: [
                                                (Case
                                                  to_match: {($ VSub_Name '$i')}
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [{(-l) (Lit_Other '*')}]
                                                      action: [
                                                        (C {(func_stripname)} {(-l)} {(SQ )} 
                                                          {(DQ ($ VSub_Name '$i'))}
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:name)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  ($ VSub_Name 
'$func_stripname_result'
                                                                  )
                                                                }
                                                              spids: [36701]
                                                            )
                                                          ]
                                                          spids: [36701]
                                                        )
                                                        (AndOr
                                                          ops: [Op_DPipe]
                                                          children: [
                                                            (C {($ VSub_Name '$opt_dry_run')})
                                                            (C {($ VSub_Name '$RM')} {(conftest)})
                                                          ]
                                                        )
                                                        (If
                                                          arms: [
                                                            (if_arm
                                                              cond: [
                                                                (Sentence
                                                                  child: 
                                                                    (C {($ VSub_Name '$LTCC')} 
                                                                      {($ VSub_Name '$LTCFLAGS')} {(-o)} {(conftest)} {(conftest.c)} {($ VSub_Name '$i')}
                                                                    )
                                                                  terminator: <Op_Semi ';'>
                                                                )
                                                              ]
                                                              action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:ldd_output)
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (CommandSubPart
                                                                            command_list: 
                                                                              (CommandList
                                                                                children: [
                                                                                  (C {(ldd)} 
                                                                                    {(conftest)}
                                                                                  )
                                                                                ]
                                                                              )
                                                                            left_token: 
                                                                              <Left_Backtick '`'>
                                                                            spids: [36733 36737]
                                                                          )
                                                                        }
                                                                      spids: [36732]
                                                                    )
                                                                  ]
                                                                  spids: [36732]
                                                                )
                                                                (If
                                                                  arms: [
                                                                    (if_arm
                                                                      cond: [
                                                                        (Sentence
                                                                          child: 
                                                                            (C {(test)} 
                                                                              {
                                                                                (DQ (X) 
                                                                                  ($ VSub_Name 
'$allow_libtool_libs_with_static_runtimes'
                                                                                  )
                                                                                )
                                                                              } {(Lit_Other '=')} {(DQ (Xyes))}
                                                                            )
                                                                          terminator: <Op_Semi ';'>
                                                                        )
                                                                      ]
                                                                      action: [
                                                                        (Case
                                                                          to_match: 
                                                                            {
                                                                              (DQ (' ') 
                                                                                ($ VSub_Name 
'$predeps'
                                                                                ) (' ') ($ VSub_Name '$postdeps') (' ')
                                                                              )
                                                                            }
                                                                          arms: [
                                                                            (case_arm
                                                                              pat_list: [
                                                                                {(Lit_Other '*') 
                                                                                  (DQ (' ') 
                                                                                    ($ VSub_Name '$i') (' ')
                                                                                  ) (Lit_Other '*')
                                                                                }
                                                                              ]
                                                                              action: [
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: 
newdeplibs
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (DQ 
                                                                                            ($ 
VSub_Name '$newdeplibs'
                                                                                            ) (' ') ($ VSub_Name '$i')
                                                                                          )
                                                                                        }
                                                                                      spids: [36783]
                                                                                    )
                                                                                  ]
                                                                                  spids: [36783]
                                                                                )
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: i
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: {(DQ )}
                                                                                      spids: [36791]
                                                                                    )
                                                                                  ]
                                                                                  spids: [36791]
                                                                                )
                                                                              ]
                                                                              spids: [
36773
36780
36796
16777215
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [36760 36770 36799]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 36757]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 36802]
                                                                )
                                                                (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: [
36821
36832
                                                                                    ]
                                                                                  )
                                                                                }
                                                                              spids: [36820]
                                                                            )
                                                                          ]
                                                                          spids: [36820]
                                                                        )
                                                                        (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: [
36836
36847
                                                                                    ]
                                                                                  )
                                                                                }
                                                                              spids: [36835]
                                                                            )
                                                                          ]
                                                                          spids: [36835]
                                                                        )
                                                                        (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: [36860]
                                                                            )
                                                                          ]
                                                                          spids: [36860]
                                                                        )
                                                                        (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: [
36868
36881
                                                                                          ]
                                                                                        )
                                                                                      } {(-ne)} {(0)}
                                                                                    )
                                                                                  terminator: 
                                                                                    <Op_Semi ';'>
                                                                                )
                                                                              ]
                                                                              action: [
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: 
newdeplibs
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (DQ 
                                                                                            ($ 
VSub_Name '$newdeplibs'
                                                                                            ) (' ') ($ VSub_Name '$i')
                                                                                          )
                                                                                        }
                                                                                      spids: [36892]
                                                                                    )
                                                                                  ]
                                                                                  spids: [36892]
                                                                                )
                                                                              ]
                                                                              spids: [16777215 36889]
                                                                            )
                                                                          ]
                                                                          else_action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: 
droppeddeps
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(yes)}
                                                                                  spids: [36903]
                                                                                )
                                                                              ]
                                                                              spids: [36903]
                                                                            )
                                                                            (C {($ VSub_Name '$ECHO')})
                                                                            (C {($ VSub_Name '$ECHO')} 
                                                                              {
                                                                                (DQ 
                                                                                  (
'*** Warning: dynamic linker does not accept needed library '
                                                                                  ) ($ VSub_Name '$i') (.)
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {($ VSub_Name '$ECHO')} 
                                                                              {
                                                                                (DQ 
                                                                                  (
'*** I have the capability to make that library automatically link in when'
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {($ VSub_Name '$ECHO')} 
                                                                              {
                                                                                (DQ 
                                                                                  (
'*** you link to this library.  But I can only do this if you have a'
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {($ VSub_Name '$ECHO')} 
                                                                              {
                                                                                (DQ 
                                                                                  (
'*** shared version of the library, which you do not appear to have'
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {($ VSub_Name '$ECHO')} 
                                                                              {
                                                                                (DQ 
                                                                                  (
'*** because a test_compile did reveal that the linker did not use this one'
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {($ VSub_Name '$ECHO')} 
                                                                              {
                                                                                (DQ 
                                                                                  (
'*** as a dynamic dependency that programs can get resolved with at runtime.'
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                          ]
                                                                          spids: [36900 36954]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 36817]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 36957]
                                                                )
                                                              ]
                                                              spids: [16777215 36729]
                                                            )
                                                          ]
                                                          else_action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:droppeddeps)
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [36963]
                                                                )
                                                              ]
                                                              spids: [36963]
                                                            )
                                                            (C {($ VSub_Name '$ECHO')})
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ ('*** Warning!  Library ') 
                                                                  ($ VSub_Name '$i') (' is needed by this library but I was not able to')
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** make it link in!  You will probably need to install it or some'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** library that it depends on before this library will be fully'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** functional.  Installing it before continuing would be even better.'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [36960 37000]
                                                        )
                                                      ]
                                                      spids: [36684 36686 37003 16777215]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:newdeplibs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name '$newdeplibs') 
                                                                    (' ') ($ VSub_Name '$i')
                                                                  )
                                                                }
                                                              spids: [37010]
                                                            )
                                                          ]
                                                          spids: [37010]
                                                        )
                                                      ]
                                                      spids: [37006 37007 37018 16777215]
                                                    )
                                                  ]
                                                  spids: [36677 36681 37021]
                                                )
                                              ]
                                              spids: [36674 37024]
                                            )
                                          spids: [36670 36672]
                                        )
                                      ]
                                      spids: [36654 37027]
                                    )
                                  ]
                                  spids: [36293 36294 37030 16777215]
                                )
                                (case_arm
                                  pat_list: [{(file_magic) (Lit_Other '*')}]
                                  action: [
                                    (Sentence
                                      child: 
                                        (C {(set)} {(dummy)} {($ VSub_Name '$deplibs_check_method')})
                                      terminator: <Op_Semi ';'>
                                    )
                                    (C {(shift)})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:file_magic_regex)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (C {(expr)} 
                                                        {(DQ ($ VSub_Name '$deplibs_check_method'))} {(Lit_Other ':')} {(DQ ($ VSub_Number '$1') (' ') (Lit_Other '\\') ('(.*') (Lit_Other '\\') (')'))}
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [37049 37066]
                                              )
                                            }
                                          spids: [37048]
                                        )
                                      ]
                                      spids: [37048]
                                    )
                                    (ForEach
                                      iter_name: a_deplib
                                      iter_words: [{($ VSub_Name '$deplibs')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {($ VSub_Name '$a_deplib')}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(-l) (Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_stripname)} {(-l)} {(SQ )} 
                                                      {(DQ ($ VSub_Name '$a_deplib'))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:name)
                                                          op: Equal
                                                          rhs: 
                                                            {($ VSub_Name '$func_stripname_result')}
                                                          spids: [37105]
                                                        )
                                                      ]
                                                      spids: [37105]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ (X) 
                                                                      ($ VSub_Name 
'$allow_libtool_libs_with_static_runtimes'
                                                                      )
                                                                    )
                                                                  } {(Lit_Other '=')} {(DQ (Xyes))}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Case
                                                              to_match: 
                                                                {
                                                                  (DQ (' ') ($ VSub_Name '$predeps') 
                                                                    (' ') ($ VSub_Name '$postdeps') (' ')
                                                                  )
                                                                }
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') 
                                                                      (DQ (' ') 
                                                                        ($ VSub_Name '$a_deplib') (' ')
                                                                      ) (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: newdeplibs
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name 
'$newdeplibs'
                                                                                ) (' ') ($ VSub_Name '$a_deplib')
                                                                              )
                                                                            }
                                                                          spids: [37152]
                                                                        )
                                                                      ]
                                                                      spids: [37152]
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: a_deplib
                                                                            )
                                                                          op: Equal
                                                                          rhs: {(DQ )}
                                                                          spids: [37160]
                                                                        )
                                                                      ]
                                                                      spids: [37160]
                                                                    )
                                                                  ]
                                                                  spids: [37142 37149 37165 16777215]
                                                                )
                                                              ]
                                                              spids: [37129 37139 37168]
                                                            )
                                                          ]
                                                          spids: [16777215 37126]
                                                        )
                                                      ]
                                                      spids: [16777215 37171]
                                                    )
                                                    (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: [37190 37201]
                                                                      )
                                                                    }
                                                                  spids: [37189]
                                                                )
                                                              ]
                                                              spids: [37189]
                                                            )
                                                            (ForEach
                                                              iter_name: i
                                                              iter_words: [
                                                                {($ VSub_Name '$lib_search_path')}
                                                                {
                                                                  ($ VSub_Name '$sys_lib_search_path')
                                                                }
                                                                {($ VSub_Name '$shlib_search_path')}
                                                              ]
                                                              do_arg_iter: F
                                                              body: 
                                                                (DoGroup
                                                                  children: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: potential_libs
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (SimpleCommand
                                                                                        words: [
                                                                                          {(ls)}
                                                                                          {
                                                                                            ($ 
VSub_Name '$i'
                                                                                            ) (/) ($ VSub_Name '$libname') (Lit_Other '[') (.-) (Lit_Other ']') (Lit_Other '*')
                                                                                          }
                                                                                        ]
                                                                                        redirects: [
                                                                                          (Redir
                                                                                            op: 
                                                                                              <
Redir_Great '2>'
                                                                                              >
                                                                                            fd: 2
                                                                                            arg_word: 
                                                                                              {
                                                                                                (
/dev/null
                                                                                                )
                                                                                              }
                                                                                          )
                                                                                        ]
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
'`'
                                                                                  >
                                                                                spids: [37221 37234]
                                                                              )
                                                                            }
                                                                          spids: [37220]
                                                                        )
                                                                      ]
                                                                      spids: [37220]
                                                                    )
                                                                    (ForEach
                                                                      iter_name: potent_lib
                                                                      iter_words: [
                                                                        {
                                                                          ($ VSub_Name 
'$potential_libs'
                                                                          )
                                                                        }
                                                                      ]
                                                                      do_arg_iter: F
                                                                      body: 
                                                                        (DoGroup
                                                                          children: [
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (Pipeline
                                                                                          children: [
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  (
ls
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (
-lLd
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    ($ 
VSub_Name '$potent_lib'
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op: 
                                                                                                    <
Redir_Great '2>'
                                                                                                    >
                                                                                                  fd: 
2
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  ($ 
VSub_Name '$GREP'
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    (
' -> '
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op: 
                                                                                                    <
Redir_Great '>'
                                                                                                    >
                                                                                                  fd: 
16777215
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          negated: F
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
';'
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Continue continue
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  spids: [
16777215
37279
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [16777215 37285]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: potlib
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
'$potent_lib'
                                                                                        )
                                                                                      )
                                                                                    }
                                                                                  spids: [37308]
                                                                                )
                                                                              ]
                                                                              spids: [37308]
                                                                            )
                                                                            (WhileUntil
                                                                              keyword: 
                                                                                <KW_While while>
                                                                              cond: [
                                                                                (Sentence
                                                                                  child: 
                                                                                    (SimpleCommand
                                                                                      words: [
                                                                                        {(test)}
                                                                                        {(-h)}
                                                                                        {
                                                                                          (DQ 
                                                                                            ($ 
VSub_Name '$potlib'
                                                                                            )
                                                                                          )
                                                                                        }
                                                                                      ]
                                                                                      redirects: [
                                                                                        (Redir
                                                                                          op: 
                                                                                            <
Redir_Great '2>'
                                                                                            >
                                                                                          fd: 2
                                                                                          arg_word: 
                                                                                            {
                                                                                              (
/dev/null
                                                                                              )
                                                                                            }
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  terminator: 
                                                                                    <Op_Semi ';'>
                                                                                )
                                                                              ]
                                                                              body: 
                                                                                (DoGroup
                                                                                  children: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
potliblink
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (CommandSubPart
                                                                                                command_list: 
                                                                                                  (CommandList
                                                                                                    children: [
                                                                                                      (Pipeline
                                                                                                        children: [
                                                                                                          (C 
                                                                                                            {
                                                                                                              (
ls
                                                                                                              )
                                                                                                            } {(-ld)} {($ VSub_Name '$potlib')}
                                                                                                          )
                                                                                                          (C 
                                                                                                            {
                                                                                                              (${ 
VSub_Name SED
                                                                                                              )
                                                                                                            } {(SQ <'s/.* -> //'>)}
                                                                                                          )
                                                                                                        ]
                                                                                                        negated: 
F
                                                                                                      )
                                                                                                    ]
                                                                                                  )
                                                                                                left_token: 
                                                                                                  <
Left_Backtick '`'
                                                                                                  >
                                                                                                spids: [
37332
37348
                                                                                                ]
                                                                                              )
                                                                                            }
                                                                                          spids: [
37331
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [37331]
                                                                                    )
                                                                                    (Case
                                                                                      to_match: 
                                                                                        {
                                                                                          ($ 
VSub_Name '$potliblink'
                                                                                          )
                                                                                        }
                                                                                      arms: [
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              (
Lit_Other '['
                                                                                              ) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (/) (Lit_Other ']') (Lit_Other '*')
                                                                                            }
                                                                                            {
                                                                                              (
Lit_Other '['
                                                                                              ) (A-Za-z) (Lit_Other ']') (Lit_Other ':') (Lit_Other '[') 
                                                                                              (EscapedLiteralPart
                                                                                                token: 
                                                                                                  <
Lit_EscapedChar '\\\\'
                                                                                                  >
                                                                                              ) (/) (Lit_Other ']') (Lit_Other '*')
                                                                                            }
                                                                                          ]
                                                                                          action: [
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
potlib
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      (DQ 
                                                                                                        ($ 
VSub_Name '$potliblink'
                                                                                                        )
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
37377
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
37377
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
37358
37375
37381
16777215
                                                                                          ]
                                                                                        )
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              (
Lit_Other '*'
                                                                                              )
                                                                                            }
                                                                                          ]
                                                                                          action: [
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
potlib
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      (CommandSubPart
                                                                                                        command_list: 
                                                                                                          (CommandList
                                                                                                            children: [
                                                                                                              (Pipeline
                                                                                                                children: [
                                                                                                                  (C 
                                                                                                                    {
                                                                                                                      ($ 
VSub_Name '$ECHO'
                                                                                                                      )
                                                                                                                    } {(DQ (X) ($ VSub_Name '$potlib'))}
                                                                                                                  )
                                                                                                                  (C 
                                                                                                                    {
                                                                                                                      ($ 
VSub_Name '$Xsed'
                                                                                                                      )
                                                                                                                    } {(-e)} {(SQ <'s,[^/]*$,,'>)}
                                                                                                                  )
                                                                                                                ]
                                                                                                                negated: 
F
                                                                                                              )
                                                                                                            ]
                                                                                                          )
                                                                                                        left_token: 
                                                                                                          <
Left_Backtick '`'
                                                                                                          >
                                                                                                        spids: [
37388
37405
                                                                                                        ]
                                                                                                      ) (DQ ($ VSub_Name '$potliblink'))
                                                                                                    }
                                                                                                  spids: [
37387
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
37387
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
37384
37385
37409
16777215
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
37351
37355
37412
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [37328 37415]
                                                                                )
                                                                            )
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (Pipeline
                                                                                          children: [
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  (
eval
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  ($ 
VSub_Name '$file_magic_cmd'
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (EscapedLiteralPart
                                                                                                    token: 
                                                                                                      <
Lit_EscapedChar '\\"'
                                                                                                      >
                                                                                                  ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (potlib) 
                                                                                                  (EscapedLiteralPart
                                                                                                    token: 
                                                                                                      <
Lit_EscapedChar '\\"'
                                                                                                      >
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op: 
                                                                                                    <
Redir_Great '2>'
                                                                                                    >
                                                                                                  fd: 
2
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                ($ 
VSub_Name '$SED'
                                                                                                )
                                                                                              } {(-e)} {(10q)}
                                                                                            )
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  ($ 
VSub_Name '$EGREP'
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    ($ 
VSub_Name '$file_magic_regex'
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op: 
                                                                                                    <
Redir_Great '>'
                                                                                                    >
                                                                                                  fd: 
16777215
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          negated: F
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
';'
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
newdeplibs
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name '$newdeplibs'
                                                                                                ) (' ') ($ VSub_Name '$a_deplib')
                                                                                              )
                                                                                            }
                                                                                          spids: [
37458
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [37458]
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
a_deplib
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: {(DQ )}
                                                                                          spids: [
37466
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [37466]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Break break
                                                                                        >
                                                                                      arg_word: {(2)}
                                                                                    )
                                                                                  ]
                                                                                  spids: [
16777215
37455
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [16777215 37476]
                                                                            )
                                                                          ]
                                                                          spids: [37246 37479]
                                                                        )
                                                                      spids: [37242 37244]
                                                                    )
                                                                  ]
                                                                  spids: [37217 37482]
                                                                )
                                                              spids: [37209 37215]
                                                            )
                                                          ]
                                                          spids: [16777215 37186]
                                                        )
                                                      ]
                                                      spids: [16777215 37485]
                                                    )
                                                    (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: [37503]
                                                                )
                                                              ]
                                                              spids: [37503]
                                                            )
                                                            (C {($ VSub_Name '$ECHO')})
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** Warning: linker path does not have real file for library '
                                                                  ) ($ VSub_Name '$a_deplib') (.)
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** I have the capability to make that library automatically link in when'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** you link to this library.  But I can only do this if you have a'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** shared version of the library, which you do not appear to have'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** because I did check the linker path looking for a file starting'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-z)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name '$potlib')
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (C {($ VSub_Name '$ECHO')} 
                                                                      {
                                                                        (DQ ('*** with ') 
                                                                          ($ VSub_Name '$libname') (' but no candidates were found. (...for file magic test)')
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [16777215 37559]
                                                                )
                                                              ]
                                                              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: [37571 37591]
                                                            )
                                                          ]
                                                          spids: [16777215 37500]
                                                        )
                                                      ]
                                                      spids: [16777215 37594]
                                                    )
                                                  ]
                                                  spids: [37088 37090 37597 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:newdeplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$newdeplibs') (' ') 
                                                                ($ VSub_Name '$a_deplib')
                                                              )
                                                            }
                                                          spids: [37608]
                                                        )
                                                      ]
                                                      spids: [37608]
                                                    )
                                                  ]
                                                  spids: [37600 37601 37616 16777215]
                                                )
                                              ]
                                              spids: [37081 37085 37619]
                                            )
                                          ]
                                          spids: [37078 37622]
                                        )
                                      spids: [37074 37076]
                                    )
                                  ]
                                  spids: [37033 37035 37628 16777215]
                                )
                                (case_arm
                                  pat_list: [{(match_pattern) (Lit_Other '*')}]
                                  action: [
                                    (Sentence
                                      child: 
                                        (C {(set)} {(dummy)} {($ VSub_Name '$deplibs_check_method')})
                                      terminator: <Op_Semi ';'>
                                    )
                                    (C {(shift)})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:match_pattern_regex)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (C {(expr)} 
                                                        {(DQ ($ VSub_Name '$deplibs_check_method'))} {(Lit_Other ':')} {(DQ ($ VSub_Number '$1') (' ') (Lit_Other '\\') ('(.*') (Lit_Other '\\') (')'))}
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [37647 37664]
                                              )
                                            }
                                          spids: [37646]
                                        )
                                      ]
                                      spids: [37646]
                                    )
                                    (ForEach
                                      iter_name: a_deplib
                                      iter_words: [{($ VSub_Name '$deplibs')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {($ VSub_Name '$a_deplib')}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(-l) (Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_stripname)} {(-l)} {(SQ )} 
                                                      {(DQ ($ VSub_Name '$a_deplib'))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:name)
                                                          op: Equal
                                                          rhs: 
                                                            {($ VSub_Name '$func_stripname_result')}
                                                          spids: [37703]
                                                        )
                                                      ]
                                                      spids: [37703]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ (X) 
                                                                      ($ VSub_Name 
'$allow_libtool_libs_with_static_runtimes'
                                                                      )
                                                                    )
                                                                  } {(Lit_Other '=')} {(DQ (Xyes))}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Case
                                                              to_match: 
                                                                {
                                                                  (DQ (' ') ($ VSub_Name '$predeps') 
                                                                    (' ') ($ VSub_Name '$postdeps') (' ')
                                                                  )
                                                                }
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') 
                                                                      (DQ (' ') 
                                                                        ($ VSub_Name '$a_deplib') (' ')
                                                                      ) (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: newdeplibs
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name 
'$newdeplibs'
                                                                                ) (' ') ($ VSub_Name '$a_deplib')
                                                                              )
                                                                            }
                                                                          spids: [37750]
                                                                        )
                                                                      ]
                                                                      spids: [37750]
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: a_deplib
                                                                            )
                                                                          op: Equal
                                                                          rhs: {(DQ )}
                                                                          spids: [37758]
                                                                        )
                                                                      ]
                                                                      spids: [37758]
                                                                    )
                                                                  ]
                                                                  spids: [37740 37747 37763 16777215]
                                                                )
                                                              ]
                                                              spids: [37727 37737 37766]
                                                            )
                                                          ]
                                                          spids: [16777215 37724]
                                                        )
                                                      ]
                                                      spids: [16777215 37769]
                                                    )
                                                    (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: [37788 37799]
                                                                      )
                                                                    }
                                                                  spids: [37787]
                                                                )
                                                              ]
                                                              spids: [37787]
                                                            )
                                                            (ForEach
                                                              iter_name: i
                                                              iter_words: [
                                                                {($ VSub_Name '$lib_search_path')}
                                                                {
                                                                  ($ VSub_Name '$sys_lib_search_path')
                                                                }
                                                                {($ VSub_Name '$shlib_search_path')}
                                                              ]
                                                              do_arg_iter: F
                                                              body: 
                                                                (DoGroup
                                                                  children: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: potential_libs
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (SimpleCommand
                                                                                        words: [
                                                                                          {(ls)}
                                                                                          {
                                                                                            ($ 
VSub_Name '$i'
                                                                                            ) (/) ($ VSub_Name '$libname') (Lit_Other '[') (.-) (Lit_Other ']') (Lit_Other '*')
                                                                                          }
                                                                                        ]
                                                                                        redirects: [
                                                                                          (Redir
                                                                                            op: 
                                                                                              <
Redir_Great '2>'
                                                                                              >
                                                                                            fd: 2
                                                                                            arg_word: 
                                                                                              {
                                                                                                (
/dev/null
                                                                                                )
                                                                                              }
                                                                                          )
                                                                                        ]
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
'`'
                                                                                  >
                                                                                spids: [37819 37832]
                                                                              )
                                                                            }
                                                                          spids: [37818]
                                                                        )
                                                                      ]
                                                                      spids: [37818]
                                                                    )
                                                                    (ForEach
                                                                      iter_name: potent_lib
                                                                      iter_words: [
                                                                        {
                                                                          ($ VSub_Name 
'$potential_libs'
                                                                          )
                                                                        }
                                                                      ]
                                                                      do_arg_iter: F
                                                                      body: 
                                                                        (DoGroup
                                                                          children: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: potlib
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
'$potent_lib'
                                                                                        )
                                                                                      )
                                                                                    }
                                                                                  spids: [37847]
                                                                                )
                                                                              ]
                                                                              spids: [37847]
                                                                            )
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (Pipeline
                                                                                          children: [
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  (
eval
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    (EscapedLiteralPart
                                                                                                      token: 
                                                                                                        <
Lit_EscapedChar '\\$'
                                                                                                        >
                                                                                                    ) ('ECHO ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (X) ($ VSub_Name '$potent_lib') 
                                                                                                    (EscapedLiteralPart
                                                                                                      token: 
                                                                                                        <
Lit_EscapedChar '\\"'
                                                                                                        >
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op: 
                                                                                                    <
Redir_Great '2>'
                                                                                                    >
                                                                                                  fd: 
2
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                ($ 
VSub_Name '$Xsed'
                                                                                                )
                                                                                              } {(-e)} {(10q)}
                                                                                            )
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  ($ 
VSub_Name '$EGREP'
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    ($ 
VSub_Name '$match_pattern_regex'
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op: 
                                                                                                    <
Redir_Great '>'
                                                                                                    >
                                                                                                  fd: 
16777215
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          negated: F
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
';'
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
newdeplibs
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name '$newdeplibs'
                                                                                                ) (' ') ($ VSub_Name '$a_deplib')
                                                                                              )
                                                                                            }
                                                                                          spids: [
37898
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [37898]
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
a_deplib
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: {(DQ )}
                                                                                          spids: [
37906
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [37906]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Break break
                                                                                        >
                                                                                      arg_word: {(2)}
                                                                                    )
                                                                                  ]
                                                                                  spids: [
16777215
37895
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [16777215 37916]
                                                                            )
                                                                          ]
                                                                          spids: [37844 37919]
                                                                        )
                                                                      spids: [37840 37842]
                                                                    )
                                                                  ]
                                                                  spids: [37815 37922]
                                                                )
                                                              spids: [37807 37813]
                                                            )
                                                          ]
                                                          spids: [16777215 37784]
                                                        )
                                                      ]
                                                      spids: [16777215 37925]
                                                    )
                                                    (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: [37943]
                                                                )
                                                              ]
                                                              spids: [37943]
                                                            )
                                                            (C {($ VSub_Name '$ECHO')})
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** Warning: linker path does not have real file for library '
                                                                  ) ($ VSub_Name '$a_deplib') (.)
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** I have the capability to make that library automatically link in when'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** you link to this library.  But I can only do this if you have a'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** shared version of the library, which you do not appear to have'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** because I did check the linker path looking for a file starting'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-z)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name '$potlib')
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (C {($ VSub_Name '$ECHO')} 
                                                                      {
                                                                        (DQ ('*** with ') 
                                                                          ($ VSub_Name '$libname') (' but no candidates were found. (...for regex pattern test)')
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [16777215 37999]
                                                                )
                                                              ]
                                                              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: [38011 38031]
                                                            )
                                                          ]
                                                          spids: [16777215 37940]
                                                        )
                                                      ]
                                                      spids: [16777215 38034]
                                                    )
                                                  ]
                                                  spids: [37686 37688 38037 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:newdeplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$newdeplibs') (' ') 
                                                                ($ VSub_Name '$a_deplib')
                                                              )
                                                            }
                                                          spids: [38048]
                                                        )
                                                      ]
                                                      spids: [38048]
                                                    )
                                                  ]
                                                  spids: [38040 38041 38056 16777215]
                                                )
                                              ]
                                              spids: [37679 37683 38059]
                                            )
                                          ]
                                          spids: [37676 38062]
                                        )
                                      spids: [37672 37674]
                                    )
                                  ]
                                  spids: [37631 37633 38068 16777215]
                                )
                                (case_arm
                                  pat_list: [{(none)} {(unknown)} {(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:newdeplibs)
                                          op: Equal
                                          rhs: {(DQ )}
                                          spids: [38083]
                                        )
                                      ]
                                      spids: [38083]
                                    )
                                    (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 ('X ') ($ VSub_Name '$deplibs'))}
                                                          )
                                                          (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                            {(SQ <'s/ -lc$//'>)} {(-e)} {(SQ <'s/ -[LR][^ ]*//g'>)}
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [38089 38114]
                                              )
                                            }
                                          spids: [38088]
                                        )
                                      ]
                                      spids: [38088]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} 
                                                  {
                                                    (DQ (X) 
                                                      ($ VSub_Name 
'$allow_libtool_libs_with_static_runtimes'
                                                      )
                                                    )
                                                  } {(Lit_Other '=')} {(DQ (Xyes))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (ForEach
                                              iter_name: i
                                              iter_words: [
                                                {($ VSub_Name '$predeps')}
                                                {($ VSub_Name '$postdeps')}
                                              ]
                                              do_arg_iter: F
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:tmp_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (CommandSubPart
                                                                command_list: 
                                                                  (CommandList
                                                                    children: [
                                                                      (Pipeline
                                                                        children: [
                                                                          (C {($ VSub_Name '$ECHO')} 
                                                                            {
                                                                              (DQ ('X ') 
                                                                                ($ VSub_Name 
'$tmp_deplibs'
                                                                                )
                                                                              )
                                                                            }
                                                                          )
                                                                          (C {($ VSub_Name '$Xsed')} 
                                                                            {(-e)} {(DQ ('s,') ($ VSub_Name '$i') (',,'))}
                                                                          )
                                                                        ]
                                                                        negated: F
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_Backtick '`'>
                                                                spids: [38157 38176]
                                                              )
                                                            }
                                                          spids: [38156]
                                                        )
                                                      ]
                                                      spids: [38156]
                                                    )
                                                  ]
                                                  spids: [38149 38179]
                                                )
                                              spids: [38142 38147]
                                            )
                                          ]
                                          spids: [16777215 38134]
                                        )
                                      ]
                                      spids: [16777215 38182]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (Pipeline
                                                  children: [
                                                    (C {($ VSub_Name '$ECHO')} 
                                                      {(DQ ('X ') ($ VSub_Name '$tmp_deplibs'))}
                                                    )
                                                    (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                      {(SQ <'s/[\t ]//g'>)}
                                                    )
                                                    (SimpleCommand
                                                      words: [{($ VSub_Name '$GREP')} {(.)}]
                                                      redirects: [
                                                        (Redir
                                                          op: <Redir_Great '>'>
                                                          fd: 16777215
                                                          arg_word: {(/dev/null)}
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  negated: F
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {($ VSub_Name '$ECHO')})
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {
                                                            (DQ (X) 
                                                              ($ VSub_Name '$deplibs_check_method')
                                                            )
                                                          } {(Lit_Other '=')} {(DQ (Xnone))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {($ VSub_Name '$ECHO')} 
                                                      {
                                                        (DQ 
                                                          (
'*** Warning: inter-library dependencies are not supported in this platform.'
                                                          )
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [16777215 38237]
                                                )
                                              ]
                                              else_action: [
                                                (C {($ VSub_Name '$ECHO')} 
                                                  {
                                                    (DQ 
                                                      (
'*** Warning: inter-library dependencies are not known to be supported.'
                                                      )
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [38247 38257]
                                            )
                                            (C {($ VSub_Name '$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: [38267]
                                                )
                                              ]
                                              spids: [38267]
                                            )
                                          ]
                                          spids: [16777215 38215]
                                        )
                                      ]
                                      spids: [16777215 38271]
                                    )
                                  ]
                                  spids: [38071 38080 38274 16777215]
                                )
                              ]
                              spids: [36255 36259 38277]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix)
                                  op: Equal
                                  rhs: {($ VSub_Name '$versuffix_save')}
                                  spids: [38280]
                                )
                              ]
                              spids: [38280]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major)
                                  op: Equal
                                  rhs: {($ VSub_Name '$major_save')}
                                  spids: [38284]
                                )
                              ]
                              spids: [38284]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release)
                                  op: Equal
                                  rhs: {($ VSub_Name '$release_save')}
                                  spids: [38288]
                                )
                              ]
                              spids: [38288]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libname)
                                  op: Equal
                                  rhs: {($ VSub_Name '$libname_save')}
                                  spids: [38292]
                                )
                              ]
                              spids: [38292]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name)
                                  op: Equal
                                  rhs: {($ VSub_Name '$name_save')}
                                  spids: [38296]
                                )
                              ]
                              spids: [38296]
                            )
                            (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 ('X ') ($ VSub_Name '$newdeplibs'))}
                                                          )
                                                          (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                            {(SQ <'s/ -lc / System.ltframework /'>)}
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [38331 38348]
                                              )
                                            }
                                          spids: [38330]
                                        )
                                      ]
                                      spids: [38330]
                                    )
                                  ]
                                  spids: [38308 38323 38351 16777215]
                                )
                              ]
                              spids: [38301 38305 38354]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$droppeddeps'))} 
                                          {(Lit_Other '=')} {(yes)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$module'))} 
                                                  {(Lit_Other '=')} {(yes)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {($ VSub_Name '$ECHO')})
                                            (C {($ VSub_Name '$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 {($ VSub_Name '$ECHO')} 
                                              {
                                                (DQ 
                                                  (
'*** a static module, that should work as long as the dlopening'
                                                  )
                                                )
                                              }
                                            )
                                            (C {($ VSub_Name '$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 {($ VSub_Name '$ECHO')})
                                                    (C {($ VSub_Name '$ECHO')} 
                                                      {
                                                        (DQ 
                                                          (
'*** However, this would only work if libtool was able to extract symbol'
                                                          )
                                                        )
                                                      }
                                                    )
                                                    (C {($ VSub_Name '$ECHO')} 
                                                      {
                                                        (DQ ('*** lists from a program, using ') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\`'>
                                                          ) ("nm' or equivalent, but libtool could")
                                                        )
                                                      }
                                                    )
                                                    (C {($ VSub_Name '$ECHO')} 
                                                      {
                                                        (DQ 
                                                          (
'*** not find such a program.  So, this module is probably useless.'
                                                          )
                                                        )
                                                      }
                                                    )
                                                    (C {($ VSub_Name '$ECHO')} 
                                                      {
                                                        (DQ ('*** ') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\`'>
                                                          ) ("nm' from GNU binutils and a full rebuild may help.")
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [16777215 38434]
                                                )
                                              ]
                                              spids: [16777215 38472]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {(DQ ($ VSub_Name '$build_old_libs'))} {(Lit_Other '=')} {(no)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:oldlibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                                ($ VSub_Name '$libname') (.) ($ VSub_Name '$libext')
                                                              )
                                                            }
                                                          spids: [38491]
                                                        )
                                                      ]
                                                      spids: [38491]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_libtool_libs)
                                                          op: Equal
                                                          rhs: {(module)}
                                                          spids: [38501]
                                                        )
                                                      ]
                                                      spids: [38501]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_old_libs)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [38505]
                                                        )
                                                      ]
                                                      spids: [38505]
                                                    )
                                                  ]
                                                  spids: [16777215 38488]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:build_libtool_libs)
                                                      op: Equal
                                                      rhs: {(no)}
                                                      spids: [38512]
                                                    )
                                                  ]
                                                  spids: [38512]
                                                )
                                              ]
                                              spids: [38509 38516]
                                            )
                                          ]
                                          spids: [16777215 38387]
                                        )
                                      ]
                                      else_action: [
                                        (C {($ VSub_Name '$ECHO')} 
                                          {
                                            (DQ 
                                              (
'*** The inter-library dependencies that have been dropped here will be'
                                              )
                                            )
                                          }
                                        )
                                        (C {($ VSub_Name '$ECHO')} 
                                          {
                                            (DQ 
                                              (
'*** automatically added whenever a program is linked with this library'
                                              )
                                            )
                                          }
                                        )
                                        (C {($ VSub_Name '$ECHO')} 
                                          {(DQ ('*** or is declared to -dlopen it.'))}
                                        )
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (C {(test)} {(DQ ($ VSub_Name '$allow_undefined'))} 
                                                      {(Lit_Other '=')} {(no)}
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (C {($ VSub_Name '$ECHO')})
                                                (C {($ VSub_Name '$ECHO')} 
                                                  {
                                                    (DQ 
                                                      (
'*** Since this library must not contain undefined symbols,'
                                                      )
                                                    )
                                                  }
                                                )
                                                (C {($ VSub_Name '$ECHO')} 
                                                  {
                                                    (DQ 
                                                      (
'*** because either the platform does not support them or'
                                                      )
                                                    )
                                                  }
                                                )
                                                (C {($ VSub_Name '$ECHO')} 
                                                  {
                                                    (DQ 
                                                      (
'*** it was explicitly requested with -no-undefined,'
                                                      )
                                                    )
                                                  }
                                                )
                                                (C {($ VSub_Name '$ECHO')} 
                                                  {
                                                    (DQ 
                                                      (
'*** libtool will only create a static version of it.'
                                                      )
                                                    )
                                                  }
                                                )
                                                (If
                                                  arms: [
                                                    (if_arm
                                                      cond: [
                                                        (Sentence
                                                          child: 
                                                            (C {(test)} 
                                                              {(DQ ($ VSub_Name '$build_old_libs'))} {(Lit_Other '=')} {(no)}
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:oldlibs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name '$output_objdir') 
                                                                    (/) ($ VSub_Name '$libname') (.) ($ VSub_Name '$libext')
                                                                  )
                                                                }
                                                              spids: [38607]
                                                            )
                                                          ]
                                                          spids: [38607]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_libtool_libs)
                                                              op: Equal
                                                              rhs: {(module)}
                                                              spids: [38617]
                                                            )
                                                          ]
                                                          spids: [38617]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_old_libs)
                                                              op: Equal
                                                              rhs: {(yes)}
                                                              spids: [38621]
                                                            )
                                                          ]
                                                          spids: [38621]
                                                        )
                                                      ]
                                                      spids: [16777215 38604]
                                                    )
                                                  ]
                                                  else_action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_libtool_libs)
                                                          op: Equal
                                                          rhs: {(no)}
                                                          spids: [38628]
                                                        )
                                                      ]
                                                      spids: [38628]
                                                    )
                                                  ]
                                                  spids: [38625 38632]
                                                )
                                              ]
                                              spids: [16777215 38557]
                                            )
                                          ]
                                          spids: [16777215 38635]
                                        )
                                      ]
                                      spids: [38519 38638]
                                    )
                                  ]
                                  spids: [16777215 38371]
                                )
                              ]
                              spids: [16777215 38641]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$newdeplibs')}
                                  spids: [38648]
                                )
                              ]
                              spids: [38648]
                            )
                          ]
                          spids: [16777215 35934]
                        )
                      ]
                      spids: [16777215 38652]
                    )
                    (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 ('X ') ($ VSub_Name '$newdeplibs'))}
                                                  )
                                                  (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                    {
                                                      (SQ 
                                                        <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [38675 38692]
                                      )
                                    }
                                  spids: [38674]
                                )
                              ]
                              spids: [38674]
                            )
                            (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 ('X ') 
                                                        ($ VSub_Name '$new_inherited_linker_flags')
                                                      )
                                                    }
                                                  )
                                                  (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                    {
                                                      (SQ 
                                                        <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [38696 38713]
                                      )
                                    }
                                  spids: [38695]
                                )
                              ]
                              spids: [38695]
                            )
                            (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 ('X ') ($ VSub_Name '$deplibs'))}
                                                  )
                                                  (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                    {
                                                      (SQ 
                                                        <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [38717 38734]
                                      )
                                    }
                                  spids: [38716]
                                )
                              ]
                              spids: [38716]
                            )
                          ]
                          spids: [38666 38671 38737 16777215]
                        )
                      ]
                      spids: [38659 38663 38740]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new_libs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [38752]
                        )
                      ]
                      spids: [38752]
                    )
                    (ForEach
                      iter_name: path
                      iter_words: [{($ VSub_Name '$notinst_path')}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {(DQ (' ') ($ VSub_Name '$new_libs') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') 
                                      (DQ (' -L') ($ VSub_Name '$path') (/) ($ VSub_Name '$objdir') (' ')) (Lit_Other '*')
                                    }
                                  ]
                                  spids: [38778 38787 38789 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Case
                                      to_match: {(DQ (' ') ($ VSub_Name '$deplibs') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') 
                                              (DQ (' -L') ($ VSub_Name '$path') (/) 
                                                ($ VSub_Name '$objdir') (' ')
                                              ) (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:new_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$new_libs') (' -L') 
                                                        ($ VSub_Name '$path') (/) ($ VSub_Name '$objdir')
                                                      )
                                                    }
                                                  spids: [38819]
                                                )
                                              ]
                                              spids: [38819]
                                            )
                                          ]
                                          spids: [38807 38816 38828 16777215]
                                        )
                                      ]
                                      spids: [38796 38804 38831]
                                    )
                                  ]
                                  spids: [38792 38793 38834 16777215]
                                )
                              ]
                              spids: [38767 38775 38837]
                            )
                          ]
                          spids: [38764 38840]
                        )
                      spids: [38760 38762]
                    )
                    (ForEach
                      iter_name: deplib
                      iter_words: [{($ VSub_Name '$deplibs')}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name '$deplib')}
                              arms: [
                                (case_arm
                                  pat_list: [{(-L) (Lit_Other '*')}]
                                  action: [
                                    (Case
                                      to_match: {(DQ (' ') ($ VSub_Name '$new_libs') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$deplib') (' ')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [38878 38885 38887 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:new_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$new_libs') (' ') 
                                                        ($ VSub_Name '$deplib')
                                                      )
                                                    }
                                                  spids: [38893]
                                                )
                                              ]
                                              spids: [38893]
                                            )
                                          ]
                                          spids: [38890 38891 38900 16777215]
                                        )
                                      ]
                                      spids: [38867 38875 38903]
                                    )
                                  ]
                                  spids: [38862 38864 38906 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:new_libs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$new_libs') (' ') 
                                                ($ VSub_Name '$deplib')
                                              )
                                            }
                                          spids: [38912]
                                        )
                                      ]
                                      spids: [38912]
                                    )
                                  ]
                                  spids: [38909 38910 38919 16777215]
                                )
                              ]
                              spids: [38855 38859 38922]
                            )
                          ]
                          spids: [38852 38925]
                        )
                      spids: [38848 38850]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:deplibs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$new_libs'))}
                          spids: [38928]
                        )
                      ]
                      spids: [38928]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:library_names)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [38939]
                        )
                      ]
                      spids: [38939]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_library)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [38942]
                        )
                      ]
                      spids: [38942]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlname)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [38945]
                        )
                      ]
                      spids: [38945]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} {(Lit_Other '=')} 
                                  {(yes)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$hardcode_into_libs'))} 
                                          {(Lit_Other '=')} {(yes)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:hardcode_libdirs)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [38989]
                                        )
                                      ]
                                      spids: [38989]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dep_rpath)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [38992]
                                        )
                                      ]
                                      spids: [38992]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:rpath)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$finalize_rpath'))}
                                          spids: [38995]
                                        )
                                      ]
                                      spids: [38995]
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(DQ ($ VSub_Name '$mode'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} {(relink)}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:rpath)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$compile_rpath') 
                                                    ($ VSub_Name '$rpath')
                                                  )
                                                }
                                              spids: [39014]
                                            )
                                          ]
                                          spids: [39014]
                                        )
                                      ]
                                    )
                                    (ForEach
                                      iter_name: libdir
                                      iter_words: [{($ VSub_Name '$rpath')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name 
'$hardcode_libdir_flag_spec'
                                                              )
                                                            )
                                                          }
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(-n)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$hardcode_libdir_separator'
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-z)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
'$hardcode_libdirs'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: hardcode_libdirs
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name 
'$libdir'
                                                                                )
                                                                              )
                                                                            }
                                                                          spids: [39075]
                                                                        )
                                                                      ]
                                                                      spids: [39075]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 39072]
                                                                )
                                                              ]
                                                              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: [
39097
39104
39107
16777215
                                                                      ]
                                                                    )
                                                                    (case_arm
                                                                      pat_list: [{(Lit_Other '*')}]
                                                                      action: [
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (LhsName
                                                                                  name: 
hardcode_libdirs
                                                                                )
                                                                              op: Equal
                                                                              rhs: 
                                                                                {
                                                                                  (DQ 
                                                                                    ($ VSub_Name 
'$hardcode_libdirs'
                                                                                    ) ($ VSub_Name '$hardcode_libdir_separator') ($ VSub_Name '$libdir')
                                                                                  )
                                                                                }
                                                                              spids: [39114]
                                                                            )
                                                                          ]
                                                                          spids: [39114]
                                                                        )
                                                                      ]
                                                                      spids: [
39110
39111
39122
16777215
                                                                      ]
                                                                    )
                                                                  ]
                                                                  spids: [39088 39094 39125]
                                                                )
                                                              ]
                                                              spids: [39081 39128]
                                                            )
                                                          ]
                                                          spids: [16777215 39058]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (C {(eval)} 
                                                          {(Lit_VarLike 'flag=') 
                                                            (EscapedLiteralPart
                                                              token: <Lit_EscapedChar '\\"'>
                                                            ) ($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                          }
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:dep_rpath)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name '$dep_rpath') (' ') 
                                                                    ($ VSub_Name '$flag')
                                                                  )
                                                                }
                                                              spids: [39142]
                                                            )
                                                          ]
                                                          spids: [39142]
                                                        )
                                                      ]
                                                      spids: [39131 39150]
                                                    )
                                                  ]
                                                  spids: [16777215 39044]
                                                )
                                                (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: [39177 39184 39186 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:perm_rpath)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$perm_rpath') 
                                                                        (' ') ($ VSub_Name '$libdir')
                                                                      )
                                                                    }
                                                                  spids: [39192]
                                                                )
                                                              ]
                                                              spids: [39192]
                                                            )
                                                          ]
                                                          spids: [39189 39190 39199 16777215]
                                                        )
                                                      ]
                                                      spids: [39167 39174 39202]
                                                    )
                                                  ]
                                                  spids: [39153 39164]
                                                )
                                              ]
                                              spids: [16777215 39205]
                                            )
                                          ]
                                          spids: [39030 39208]
                                        )
                                      spids: [39026 39028]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {
                                                        (DQ 
                                                          ($ VSub_Name '$hardcode_libdir_separator')
                                                        )
                                                      }
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$hardcode_libdirs'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libdir)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$hardcode_libdirs'))}
                                                  spids: [39240]
                                                )
                                              ]
                                              spids: [39240]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name 
'$hardcode_libdir_flag_spec_ld'
                                                              )
                                                            )
                                                          }
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(eval)} 
                                                      {(Lit_VarLike 'dep_rpath=') 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar '\\"'>
                                                        ) ($ VSub_Name '$hardcode_libdir_flag_spec_ld') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                      }
                                                    )
                                                  ]
                                                  spids: [16777215 39257]
                                                )
                                              ]
                                              else_action: [
                                                (C {(eval)} 
                                                  {(Lit_VarLike 'dep_rpath=') 
                                                    (EscapedLiteralPart
                                                      token: <Lit_EscapedChar '\\"'>
                                                    ) ($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                  }
                                                )
                                              ]
                                              spids: [39268 39279]
                                            )
                                          ]
                                          spids: [16777215 39237]
                                        )
                                      ]
                                      spids: [16777215 39282]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$runpath_var'))}
                                                    )
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$perm_rpath'))})
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:rpath)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [39313]
                                                )
                                              ]
                                              spids: [39313]
                                            )
                                            (ForEach
                                              iter_name: dir
                                              iter_words: [{($ VSub_Name '$perm_rpath')}]
                                              do_arg_iter: F
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:rpath)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$rpath') 
                                                                ($ VSub_Name '$dir') (':')
                                                              )
                                                            }
                                                          spids: [39328]
                                                        )
                                                      ]
                                                      spids: [39328]
                                                    )
                                                  ]
                                                  spids: [39325 39336]
                                                )
                                              spids: [39321 39323]
                                            )
                                            (C {(eval)} 
                                              {
                                                (DQ ($ VSub_Name '$runpath_var') ("='") 
                                                  ($ VSub_Name '$rpath') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ($ VSub_Name '$runpath_var') ("'; export ") 
                                                  ($ VSub_Name '$runpath_var')
                                                )
                                              }
                                            )
                                          ]
                                          spids: [16777215 39306]
                                        )
                                      ]
                                      spids: [16777215 39352]
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dep_rpath'))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:deplibs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$dep_rpath') (' ') 
                                                    ($ VSub_Name '$deplibs')
                                                  )
                                                }
                                              spids: [39365]
                                            )
                                          ]
                                          spids: [39365]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 38982]
                                )
                              ]
                              spids: [16777215 39373]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:shlibpath)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$finalize_shlibpath'))}
                                  spids: [39377]
                                )
                              ]
                              spids: [39377]
                            )
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(KW_Bang '!') (Lit_Other '=')} 
                                  {(relink)}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:shlibpath)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$compile_shlibpath') 
                                            ($ VSub_Name '$shlibpath')
                                          )
                                        }
                                      spids: [39396]
                                    )
                                  ]
                                  spids: [39396]
                                )
                              ]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$shlibpath'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {
                                        (DQ ($ VSub_Name '$shlibpath_var') ("='") 
                                          ($ VSub_Name '$shlibpath') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ($ VSub_Name '$shlibpath_var') ("'; export ") 
                                          ($ VSub_Name '$shlibpath_var')
                                        )
                                      }
                                    )
                                  ]
                                  spids: [16777215 39414]
                                )
                              ]
                              spids: [16777215 39430]
                            )
                            (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: {(DQ ($ VSub_Number '$1'))}
                                  spids: [39464]
                                )
                              ]
                              spids: [39464]
                            )
                            (C {(shift)})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$soname_spec'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {(Lit_VarLike 'soname=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) ($ VSub_Name '$soname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                      }
                                    )
                                  ]
                                  spids: [16777215 39485]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:soname)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$realname'))}
                                      spids: [39499]
                                    )
                                  ]
                                  spids: [39499]
                                )
                              ]
                              spids: [39496 39505]
                            )
                            (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: [39522]
                                        )
                                      ]
                                      spids: [39522]
                                    )
                                  ]
                                  spids: [16777215 39519]
                                )
                              ]
                              spids: [16777215 39526]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lib)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$realname'))
                                    }
                                  spids: [39530]
                                )
                              ]
                              spids: [39530]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:linknames)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [39538]
                                )
                              ]
                              spids: [39538]
                            )
                            (ForEach
                              iter_name: link
                              do_arg_iter: T
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linknames)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$linknames') (' ') 
                                                ($ VSub_Name '$link')
                                              )
                                            }
                                          spids: [39549]
                                        )
                                      ]
                                      spids: [39549]
                                    )
                                  ]
                                  spids: [39546 39557]
                                )
                              spids: [16777215 16777215]
                            )
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$pic_flag'))})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:libobjs)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {($ VSub_Name '$ECHO')} 
                                                        {(DQ (X) ($ VSub_Name '$libobjs'))}
                                                      )
                                                      (C {($ VSub_Name '$SP2NL')})
                                                      (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                        {(DQ ($ VSub_Name '$lo2o'))}
                                                      )
                                                      (C {($ VSub_Name '$NL2SP')})
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [39576 39601]
                                          )
                                        }
                                      spids: [39575]
                                    )
                                  ]
                                  spids: [39575]
                                )
                              ]
                            )
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(test)} {(DQ (X) ($ VSub_Name '$libobjs'))} {(Lit_Other '=')} 
                                  {(DQ ('X '))}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:libobjs)
                                      op: Equal
                                      rhs: {(EmptyPart)}
                                      spids: [39619]
                                    )
                                  ]
                                  spids: [39619]
                                )
                              ]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:delfiles)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [39623]
                                )
                              ]
                              spids: [39623]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DAmp]
                                          children: [
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$export_symbols'))})
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$include_expsyms'))})
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (C {(cp)} {(DQ ($ VSub_Name '$export_symbols'))} 
                                          {
                                            (DQ ($ VSub_Name '$output_objdir') (/) 
                                              ($ VSub_Name '$libname') (.uexp)
                                            )
                                          }
                                        )
                                      ]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:export_symbols)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                ($ VSub_Name '$libname') (.uexp)
                                              )
                                            }
                                          spids: [39668]
                                        )
                                      ]
                                      spids: [39668]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:delfiles)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$delfiles') (' ') 
                                                ($ VSub_Name '$export_symbols')
                                              )
                                            }
                                          spids: [39677]
                                        )
                                      ]
                                      spids: [39677]
                                    )
                                  ]
                                  spids: [16777215 39647]
                                )
                              ]
                              spids: [16777215 39685]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:orig_export_symbols)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [39689]
                                )
                              ]
                              spids: [39689]
                            )
                            (Case
                              to_match: {($ VSub_Name '$host_os')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(cygwin) (Lit_Other '*')}
                                    {(mingw) (Lit_Other '*')}
                                    {(cegcc) (Lit_Other '*')}
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$export_symbols'))}
                                                    )
                                                    (C {(test)} {(-z)} 
                                                      {(DQ ($ VSub_Name '$export_symbols_regex'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {
                                                            (DQ (x) 
                                                              (CommandSubPart
                                                                command_list: 
                                                                  (CommandList
                                                                    children: [
                                                                      (C {($ VSub_Name '$SED')} {(1q)} 
                                                                        {
                                                                          ($ VSub_Name 
'$export_symbols'
                                                                          )
                                                                        }
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_Backtick '`'>
                                                                spids: [39748 39754]
                                                              )
                                                            )
                                                          } {(KW_Bang '!') (Lit_Other '=')} {(xEXPORTS)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:orig_export_symbols)
                                                          op: Equal
                                                          rhs: {(DQ ($ VSub_Name '$export_symbols'))}
                                                          spids: [39790]
                                                        )
                                                      ]
                                                      spids: [39790]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:export_symbols)
                                                          op: Equal
                                                          rhs: {(EmptyPart)}
                                                          spids: [39796]
                                                        )
                                                      ]
                                                      spids: [39796]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:always_export_symbols)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [39799]
                                                        )
                                                      ]
                                                      spids: [39799]
                                                    )
                                                  ]
                                                  spids: [16777215 39763]
                                                )
                                              ]
                                              spids: [16777215 39803]
                                            )
                                          ]
                                          spids: [16777215 39735]
                                        )
                                      ]
                                      spids: [16777215 39806]
                                    )
                                  ]
                                  spids: [39699 39711 39809 16777215]
                                )
                              ]
                              spids: [39692 39696 39812]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$export_symbols'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DPipe]
                                                  children: [
                                                    (C {(test)} 
                                                      {(DQ ($ VSub_Name '$always_export_symbols'))} {(Lit_Other '=')} {(yes)}
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$export_symbols_regex'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_verbose)} 
                                              {
                                                (DQ ('generating symbol list for ') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\`'>
                                                  ) ($ VSub_Name '$libname') (".la'")
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:export_symbols)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$libname') (.exp)
                                                      )
                                                    }
                                                  spids: [39870]
                                                )
                                              ]
                                              spids: [39870]
                                            )
                                            (AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (C {($ VSub_Name '$RM')} 
                                                  {($ VSub_Name '$export_symbols')}
                                                )
                                              ]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:cmds)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$export_symbols_cmds')}
                                                  spids: [39888]
                                                )
                                              ]
                                              spids: [39888]
                                            )
                                            (Sentence
                                              child: 
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:save_ifs)
                                                      op: Equal
                                                      rhs: {(DQ ($ VSub_Name '$IFS'))}
                                                      spids: [39892]
                                                    )
                                                  ]
                                                  spids: [39892]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {(SQ <'~'>)}
                                                  spids: [39898]
                                                )
                                              ]
                                              spids: [39898]
                                            )
                                            (ForEach
                                              iter_name: cmd
                                              iter_words: [{($ VSub_Name '$cmds')}]
                                              do_arg_iter: F
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:IFS)
                                                          op: Equal
                                                          rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                                          spids: [39916]
                                                        )
                                                      ]
                                                      spids: [39916]
                                                    )
                                                    (C {(eval)} 
                                                      {(Lit_VarLike 'cmd=') 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar '\\"'>
                                                        ) ($ VSub_Name '$cmd') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                      }
                                                    )
                                                    (C {(func_len)} {(DQ (' ') ($ VSub_Name '$cmd'))})
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:len)
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$func_len_result')}
                                                          spids: [39938]
                                                        )
                                                      ]
                                                      spids: [39938]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (AndOr
                                                                  ops: [Op_DPipe]
                                                                  children: [
                                                                    (C {(test)} 
                                                                      {(DQ ($ VSub_Name '$len'))} {(-lt)} {(DQ ($ VSub_Name '$max_cmd_len'))}
                                                                    )
                                                                    (C {(test)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name '$max_cmd_len')
                                                                        )
                                                                      } {(-le)} {(-1)}
                                                                    )
                                                                  ]
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (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: [39983]
                                                                )
                                                              ]
                                                              spids: [39983]
                                                            )
                                                          ]
                                                          spids: [16777215 39969]
                                                        )
                                                      ]
                                                      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: [40001]
                                                            )
                                                          ]
                                                          spids: [40001]
                                                        )
                                                        (ControlFlow
                                                          token: <ControlFlow_Break break>
                                                        )
                                                      ]
                                                      spids: [39987 40016]
                                                    )
                                                  ]
                                                  spids: [39913 40019]
                                                )
                                              spids: [39909 39911]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                                  spids: [40022]
                                                )
                                              ]
                                              spids: [40022]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          ops: [Op_DAmp]
                                                          children: [
                                                            (C {(test)} {(-n)} 
                                                              {
                                                                (DQ 
                                                                  ($ VSub_Name 
'$export_symbols_regex'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(test)} 
                                                              {
                                                                (DQ (X) 
                                                                  ($ VSub_Name '$skipped_export')
                                                                )
                                                              } {(KW_Bang '!') (Lit_Other '=')} {(DQ ('X:'))}
                                                            )
                                                          ]
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_show_eval)} 
                                                      {
                                                        (SQ 
                                                          <
'$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
                                                          >
                                                        )
                                                      }
                                                    )
                                                    (C {(func_show_eval)} 
                                                      {
                                                        (SQ 
                                                          <
'$MV "${export_symbols}T" "$export_symbols"'
                                                          >
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [16777215 40055]
                                                )
                                              ]
                                              spids: [16777215 40072]
                                            )
                                          ]
                                          spids: [16777215 39857]
                                        )
                                      ]
                                      spids: [16777215 40075]
                                    )
                                  ]
                                  spids: [16777215 39831]
                                )
                              ]
                              spids: [16777215 40078]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DAmp]
                                          children: [
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$export_symbols'))})
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$include_expsyms'))})
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_export_symbols)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$export_symbols'))}
                                          spids: [40106]
                                        )
                                      ]
                                      spids: [40106]
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$orig_export_symbols'))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:tmp_export_symbols)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$orig_export_symbols'))}
                                              spids: [40122]
                                            )
                                          ]
                                          spids: [40122]
                                        )
                                      ]
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (C {(eval)} 
                                          {
                                            (SQ 
                                              <
'$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
                                              >
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 40103]
                                )
                              ]
                              spids: [16777215 40139]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DAmp]
                                          children: [
                                            (C {(test)} {(DQ (X) ($ VSub_Name '$skipped_export'))} 
                                              {(KW_Bang '!') (Lit_Other '=')} {(DQ ('X:'))}
                                            )
                                            (C {(test)} {(-n)} 
                                              {(DQ ($ VSub_Name '$orig_export_symbols'))}
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_verbose)} 
                                      {
                                        (DQ ('filter symbol list for ') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\`'>
                                          ) ($ VSub_Name '$libname') (".la' to tag DATA exports")
                                        )
                                      }
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (SimpleCommand
                                          words: [
                                            {($ VSub_Name '$SED')}
                                            {(-e)}
                                            {
                                              (SQ 
                                                <
'/[ ,]DATA/!d;s,\\(.*\\)\\([ \\,].*\\),s|^\\1$|\\1\\2|,'
                                                >
                                              )
                                            }
                                          ]
                                          redirects: [
                                            (Redir
                                              op: <Redir_Less '<'>
                                              fd: 16777215
                                              arg_word: {($ VSub_Name '$export_symbols')}
                                            )
                                            (Redir
                                              op: <Redir_Great '>'>
                                              fd: 16777215
                                              arg_word: 
                                                {($ VSub_Name '$output_objdir') (/) 
                                                  ($ VSub_Name '$libname') (.filter)
                                                }
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:delfiles)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$delfiles') (' ') 
                                                ($ VSub_Name '$export_symbols') (' ') ($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$libname') (.filter)
                                              )
                                            }
                                          spids: [40231]
                                        )
                                      ]
                                      spids: [40231]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:export_symbols)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name '$output_objdir') (/) 
                                              ($ VSub_Name '$libname') (.def)
                                            }
                                          spids: [40244]
                                        )
                                      ]
                                      spids: [40244]
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (SimpleCommand
                                          words: [
                                            {($ VSub_Name '$SED')}
                                            {(-f)}
                                            {($ VSub_Name '$output_objdir') (/) 
                                              ($ VSub_Name '$libname') (.filter)
                                            }
                                          ]
                                          redirects: [
                                            (Redir
                                              op: <Redir_Less '<'>
                                              fd: 16777215
                                              arg_word: {($ VSub_Name '$orig_export_symbols')}
                                            )
                                            (Redir
                                              op: <Redir_Great '>'>
                                              fd: 16777215
                                              arg_word: {($ VSub_Name '$export_symbols')}
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 40170]
                                )
                              ]
                              spids: [16777215 40273]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tmp_deplibs)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [40277]
                                )
                              ]
                              spids: [40277]
                            )
                            (ForEach
                              iter_name: test_deplib
                              iter_words: [{($ VSub_Name '$deplibs')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {(DQ (' ') ($ VSub_Name '$convenience') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') 
                                              (DQ (' ') ($ VSub_Name '$test_deplib') (' ')) (Lit_Other '*')
                                            }
                                          ]
                                          spids: [40303 40310 40312 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:tmp_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$tmp_deplibs') (' ') 
                                                        ($ VSub_Name '$test_deplib')
                                                      )
                                                    }
                                                  spids: [40319]
                                                )
                                              ]
                                              spids: [40319]
                                            )
                                          ]
                                          spids: [40315 40316 40327 16777215]
                                        )
                                      ]
                                      spids: [40292 40300 40330]
                                    )
                                  ]
                                  spids: [40289 40333]
                                )
                              spids: [40285 40287]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$tmp_deplibs'))}
                                  spids: [40336]
                                )
                              ]
                              spids: [40336]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$convenience'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$whole_archive_flag_spec'))}
                                                    )
                                                    (C {(test)} 
                                                      {(DQ ($ VSub_Name '$compiler_needs_object'))} {(Lit_Other '=')} {(yes)}
                                                    )
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name '$libobjs'))})
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:whole_archive_flag_spec)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [40403]
                                                )
                                              ]
                                              spids: [40403]
                                            )
                                          ]
                                          spids: [16777215 40392]
                                        )
                                      ]
                                      spids: [16777215 40406]
                                    )
                                    (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: [40423]
                                                )
                                              ]
                                              spids: [40423]
                                            )
                                            (C {(eval)} 
                                              {(Lit_VarLike 'libobjs=') 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar '\\"'>
                                                ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (libobjs)
                                              } {($ VSub_Name '$whole_archive_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)}
                                            )
                                            (AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {(test)} {(DQ (X) ($ VSub_Name '$libobjs'))} 
                                                  {(Lit_Other '=')} {(DQ ('X '))}
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:libobjs)
                                                      op: Equal
                                                      rhs: {(EmptyPart)}
                                                      spids: [40453]
                                                    )
                                                  ]
                                                  spids: [40453]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 40420]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:gentop)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$output_objdir') (/) 
                                                    (${ VSub_Name outputname) (x)
                                                  )
                                                }
                                              spids: [40459]
                                            )
                                          ]
                                          spids: [40459]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:generated)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$generated') (' ') 
                                                    ($ VSub_Name '$gentop')
                                                  )
                                                }
                                              spids: [40470]
                                            )
                                          ]
                                          spids: [40470]
                                        )
                                        (C {(func_extract_archives)} {($ VSub_Name '$gentop')} 
                                          {($ VSub_Name '$convenience')}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:libobjs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$libobjs') (' ') 
                                                    ($ VSub_Name '$func_extract_archives_result')
                                                  )
                                                }
                                              spids: [40486]
                                            )
                                          ]
                                          spids: [40486]
                                        )
                                        (AndOr
                                          ops: [Op_DAmp]
                                          children: [
                                            (C {(test)} {(DQ (X) ($ VSub_Name '$libobjs'))} 
                                              {(Lit_Other '=')} {(DQ ('X '))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libobjs)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [40509]
                                                )
                                              ]
                                              spids: [40509]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [40456 40512]
                                    )
                                  ]
                                  spids: [16777215 40354]
                                )
                              ]
                              spids: [16777215 40515]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DAmp]
                                          children: [
                                            (C {(test)} {(DQ ($ VSub_Name '$thread_safe'))} 
                                              {(Lit_Other '=')} {(yes)}
                                            )
                                            (C {(test)} {(-n)} 
                                              {(DQ ($ VSub_Name '$thread_safe_flag_spec'))}
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {(Lit_VarLike 'flag=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) ($ VSub_Name '$thread_safe_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linker_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$linker_flags') (' ') 
                                                ($ VSub_Name '$flag')
                                              )
                                            }
                                          spids: [40553]
                                        )
                                      ]
                                      spids: [40553]
                                    )
                                  ]
                                  spids: [16777215 40542]
                                )
                              ]
                              spids: [16777215 40561]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} 
                                          {(relink)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      ops: [Op_DPipe Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (C {(eval)} 
                                          {
                                            (SQ 
                                              <
'(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)'
                                              >
                                            )
                                          }
                                        )
                                        (ControlFlow
                                          token: <ControlFlow_Exit exit>
                                          arg_word: {($ VSub_QMark '$?')}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 40582]
                                )
                              ]
                              spids: [16777215 40602]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DAmp]
                                          children: [
                                            (C {(test)} {(DQ ($ VSub_Name '$module'))} {(Lit_Other '=')} 
                                              {(yes)}
                                            )
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$module_cmds'))})
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$export_symbols'))}
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$module_expsym_cmds'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(eval)} 
                                              {(Lit_VarLike 'test_cmds=') 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar '\\"'>
                                                ) ($ VSub_Name '$module_expsym_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:cmds)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$module_expsym_cmds')}
                                                  spids: [40669]
                                                )
                                              ]
                                              spids: [40669]
                                            )
                                          ]
                                          spids: [16777215 40658]
                                        )
                                      ]
                                      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: [40684]
                                            )
                                          ]
                                          spids: [40684]
                                        )
                                      ]
                                      spids: [40673 40688]
                                    )
                                  ]
                                  spids: [16777215 40634]
                                )
                              ]
                              else_action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$export_symbols'))})
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$archive_expsym_cmds'))}
                                                )
                                              ]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(eval)} 
                                          {(Lit_VarLike 'test_cmds=') 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar '\\"'>
                                            ) ($ VSub_Name '$archive_expsym_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                          }
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:cmds)
                                              op: Equal
                                              rhs: {($ VSub_Name '$archive_expsym_cmds')}
                                              spids: [40726]
                                            )
                                          ]
                                          spids: [40726]
                                        )
                                      ]
                                      spids: [16777215 40715]
                                    )
                                  ]
                                  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: [40741]
                                        )
                                      ]
                                      spids: [40741]
                                    )
                                  ]
                                  spids: [40730 40745]
                                )
                              ]
                              spids: [40691 40748]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DAmp Op_DAmp Op_DAmp Op_DPipe]
                                          children: [
                                            (C {(test)} {(DQ (X) ($ VSub_Name '$skipped_export'))} 
                                              {(KW_Bang '!') (Lit_Other '=')} {(DQ ('X:'))}
                                            )
                                            (C {(func_len)} {(DQ (' ') ($ VSub_Name '$test_cmds'))})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:len)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$func_len_result')}
                                                  spids: [40781]
                                                )
                                              ]
                                              spids: [40781]
                                            )
                                            (C {(test)} {(DQ ($ VSub_Name '$len'))} {(-lt)} 
                                              {(DQ ($ VSub_Name '$max_cmd_len'))}
                                            )
                                            (C {(test)} {(DQ ($ VSub_Name '$max_cmd_len'))} {(-le)} 
                                              {(-1)}
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [(C {(Lit_Other ':')})]
                                  spids: [16777215 40812]
                                )
                              ]
                              else_action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$convenience'))})
                                                (C {(test)} {(-z)} 
                                                  {(DQ ($ VSub_Name '$whole_archive_flag_spec'))}
                                                )
                                              ]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:save_libobjs)
                                              op: Equal
                                              rhs: {($ VSub_Name '$libobjs')}
                                              spids: [40890]
                                            )
                                          ]
                                          spids: [40890]
                                        )
                                      ]
                                      spids: [16777215 40887]
                                    )
                                  ]
                                  spids: [16777215 40894]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_output)
                                      op: Equal
                                      rhs: {($ VSub_Name '$output')}
                                      spids: [40897]
                                    )
                                  ]
                                  spids: [40897]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:output_la)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {($ VSub_Name '$ECHO')} 
                                                        {(DQ (X) ($ VSub_Name '$output'))}
                                                      )
                                                      (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                        {(DQ ($ VSub_Name '$basename'))}
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [40902 40919]
                                          )
                                        }
                                      spids: [40901]
                                    )
                                  ]
                                  spids: [40901]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:test_cmds)
                                      op: Equal
                                      rhs: {(EmptyPart)}
                                      spids: [40931]
                                    )
                                  ]
                                  spids: [40931]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:concat_cmds)
                                      op: Equal
                                      rhs: {(EmptyPart)}
                                      spids: [40934]
                                    )
                                  ]
                                  spids: [40934]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:objlist)
                                      op: Equal
                                      rhs: {(EmptyPart)}
                                      spids: [40937]
                                    )
                                  ]
                                  spids: [40937]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:last_robj)
                                      op: Equal
                                      rhs: {(EmptyPart)}
                                      spids: [40940]
                                    )
                                  ]
                                  spids: [40940]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:k)
                                      op: Equal
                                      rhs: {(1)}
                                      spids: [40943]
                                    )
                                  ]
                                  spids: [40943]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              ops: [Op_DAmp Op_DAmp]
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$save_libobjs'))})
                                                (C {(test)} {(DQ (X) ($ VSub_Name '$skipped_export'))} 
                                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ ('X:'))}
                                                )
                                                (C {(test)} {(DQ ($ VSub_Name '$with_gnu_ld'))} 
                                                  {(Lit_Other '=')} {(yes)}
                                                )
                                              ]
                                            )
                                          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: [40990]
                                            )
                                          ]
                                          spids: [40990]
                                        )
                                        (C {(func_verbose)} 
                                          {(DQ ('creating GNU ld script: ') ($ VSub_Name '$output'))}
                                        )
                                        (SimpleCommand
                                          words: [{($ VSub_Name '$ECHO')} {(SQ <'INPUT ('>)}]
                                          redirects: [
                                            (Redir
                                              op: <Redir_Great '>'>
                                              fd: 16777215
                                              arg_word: {($ VSub_Name '$output')}
                                            )
                                          ]
                                        )
                                        (ForEach
                                          iter_name: obj
                                          iter_words: [{($ VSub_Name '$save_libobjs')}]
                                          do_arg_iter: F
                                          body: 
                                            (DoGroup
                                              children: [
                                                (SimpleCommand
                                                  words: [
                                                    {($ VSub_Name '$ECHO')}
                                                    {(DQ ($ VSub_Name '$obj'))}
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op: <Redir_DGreat '>>'>
                                                      fd: 16777215
                                                      arg_word: {($ VSub_Name '$output')}
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [41029 41043]
                                            )
                                          spids: [41025 16777215]
                                        )
                                        (SimpleCommand
                                          words: [{($ VSub_Name '$ECHO')} {(SQ <')'>)}]
                                          redirects: [
                                            (Redir
                                              op: <Redir_DGreat '>>'>
                                              fd: 16777215
                                              arg_word: {($ VSub_Name '$output')}
                                            )
                                          ]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:delfiles)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$delfiles') (' ') 
                                                    ($ VSub_Name '$output')
                                                  )
                                                }
                                              spids: [41057]
                                            )
                                          ]
                                          spids: [41057]
                                        )
                                      ]
                                      spids: [16777215 40987]
                                    )
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              ops: [Op_DAmp Op_DAmp]
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$save_libobjs'))})
                                                (C {(test)} {(DQ (X) ($ VSub_Name '$skipped_export'))} 
                                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ ('X:'))}
                                                )
                                                (C {(test)} {(DQ (X) ($ VSub_Name '$file_list_spec'))} 
                                                  {(KW_Bang '!') (Lit_Other '=')} {(X)}
                                                )
                                              ]
                                            )
                                          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: [41109]
                                            )
                                          ]
                                          spids: [41109]
                                        )
                                        (C {(func_verbose)} 
                                          {
                                            (DQ ('creating linker input file list: ') 
                                              ($ VSub_Name '$output')
                                            )
                                          }
                                        )
                                        (SimpleCommand
                                          words: [{(Lit_Other ':')}]
                                          redirects: [
                                            (Redir
                                              op: <Redir_Great '>'>
                                              fd: 16777215
                                              arg_word: {($ VSub_Name '$output')}
                                            )
                                          ]
                                        )
                                        (C {(set)} {(x)} {($ VSub_Name '$save_libobjs')})
                                        (C {(shift)})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:firstobj)
                                              op: Equal
                                              rhs: {(EmptyPart)}
                                              spids: [41145]
                                            )
                                          ]
                                          spids: [41145]
                                        )
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (C {(test)} 
                                                      {(DQ ($ VSub_Name '$compiler_needs_object'))} {(Lit_Other '=')} {(yes)}
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:firstobj)
                                                      op: Equal
                                                      rhs: {(DQ ($ VSub_Number '$1') (' '))}
                                                      spids: [41164]
                                                    )
                                                  ]
                                                  spids: [41164]
                                                )
                                                (C {(shift)})
                                              ]
                                              spids: [16777215 41161]
                                            )
                                          ]
                                          spids: [16777215 41174]
                                        )
                                        (ForEach
                                          iter_name: obj
                                          do_arg_iter: T
                                          body: 
                                            (DoGroup
                                              children: [
                                                (SimpleCommand
                                                  words: [
                                                    {($ VSub_Name '$ECHO')}
                                                    {(DQ ($ VSub_Name '$obj'))}
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op: <Redir_DGreat '>>'>
                                                      fd: 16777215
                                                      arg_word: {($ VSub_Name '$output')}
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [41182 41196]
                                            )
                                          spids: [16777215 16777215]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:delfiles)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$delfiles') (' ') 
                                                    ($ VSub_Name '$output')
                                                  )
                                                }
                                              spids: [41199]
                                            )
                                          ]
                                          spids: [41199]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:output)
                                              op: Equal
                                              rhs: 
                                                {($ VSub_Name '$firstobj') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\"'>
                                                  ) ($ VSub_Name '$file_list_spec') ($ VSub_Name '$output') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\"'>
                                                  )
                                                }
                                              spids: [41207]
                                            )
                                          ]
                                          spids: [41207]
                                        )
                                      ]
                                      spids: [41065 41106]
                                    )
                                  ]
                                  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: [41239]
                                                )
                                              ]
                                              spids: [41239]
                                            )
                                            (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: [41267]
                                                )
                                              ]
                                              spids: [41267]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:len)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$len0')}
                                                  spids: [41271]
                                                )
                                              ]
                                              spids: [41271]
                                            )
                                            (ForEach
                                              iter_name: obj
                                              iter_words: [{($ VSub_Name '$save_libobjs')}]
                                              do_arg_iter: F
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (C {(func_len)} {(DQ (' ') ($ VSub_Name '$obj'))})
                                                    (C {(func_arith)} {($ VSub_Name '$len')} 
                                                      {(Lit_Other '+')} {($ VSub_Name '$func_len_result')}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:len)
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$func_arith_result')}
                                                          spids: [41309]
                                                        )
                                                      ]
                                                      spids: [41309]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (AndOr
                                                                  ops: [Op_DPipe]
                                                                  children: [
                                                                    (C {(test)} 
                                                                      {
                                                                        (DQ (X) 
                                                                          ($ VSub_Name '$objlist')
                                                                        )
                                                                      } {(Lit_Other '=')} {(X)}
                                                                    )
                                                                    (C {(test)} 
                                                                      {(DQ ($ VSub_Name '$len'))} {(-lt)} {(DQ ($ VSub_Name '$max_cmd_len'))}
                                                                    )
                                                                  ]
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (C {(func_append)} {(objlist)} 
                                                              {(DQ (' ') ($ VSub_Name '$obj'))}
                                                            )
                                                          ]
                                                          spids: [16777215 41342]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (If
                                                          arms: [
                                                            (if_arm
                                                              cond: [
                                                                (Sentence
                                                                  child: 
                                                                    (C {(test)} 
                                                                      {(DQ ($ VSub_Name '$k'))} {(-eq)} {(1)}
                                                                    )
                                                                  terminator: <Op_Semi ';'>
                                                                )
                                                              ]
                                                              action: [
                                                                (C {(eval)} 
                                                                  {(Lit_VarLike 'concat_cmds=') 
                                                                    (EscapedLiteralPart
                                                                      token: <Lit_EscapedChar '\\"'>
                                                                    ) ($ VSub_Name '$reload_cmds')
                                                                  } {($ VSub_Name '$objlist')} 
                                                                  {($ VSub_Name '$last_robj') 
                                                                    (EscapedLiteralPart
                                                                      token: <Lit_EscapedChar '\\"'>
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [16777215 41380]
                                                            )
                                                          ]
                                                          else_action: [
                                                            (C {(eval)} 
                                                              {(Lit_VarLike 'concat_cmds=') 
                                                                (EscapedLiteralPart
                                                                  token: <Lit_EscapedChar '\\"'>
                                                                ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (concat_cmds) (Lit_TildeLike '~') 
                                                                ($ VSub_Name '$reload_cmds')
                                                              } {($ VSub_Name '$objlist')} 
                                                              {($ VSub_Name '$last_robj') 
                                                                (Lit_TildeLike '~') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (RM)
                                                              } {($ VSub_Name '$last_robj') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)}
                                                            )
                                                          ]
                                                          spids: [41399 41430]
                                                        )
                                                        (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: [41433]
                                                            )
                                                          ]
                                                          spids: [41433]
                                                        )
                                                        (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: [41454]
                                                            )
                                                          ]
                                                          spids: [41454]
                                                        )
                                                        (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: [41458]
                                                            )
                                                          ]
                                                          spids: [41458]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:objlist)
                                                              op: Equal
                                                              rhs: {($ VSub_Name '$obj')}
                                                              spids: [41470]
                                                            )
                                                          ]
                                                          spids: [41470]
                                                        )
                                                        (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: [41491]
                                                            )
                                                          ]
                                                          spids: [41491]
                                                        )
                                                      ]
                                                      spids: [41355 41495]
                                                    )
                                                  ]
                                                  spids: [41289 41498]
                                                )
                                              spids: [41285 16777215]
                                            )
                                            (AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$concat_cmds'))})
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:concat_cmds)
                                                      op: Equal
                                                      rhs: 
                                                        {($ VSub_Name '$concat_cmds') 
                                                          (Lit_TildeLike '~')
                                                        }
                                                      spids: [41523]
                                                    )
                                                  ]
                                                  spids: [41523]
                                                )
                                              ]
                                            )
                                            (C {(eval)} 
                                              {(Lit_VarLike 'concat_cmds=') 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar '\\"'>
                                                ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (Lit_LBrace '{') (concat_cmds) (Lit_RBrace '}') 
                                                ($ VSub_Name '$reload_cmds')
                                              } {($ VSub_Name '$objlist')} 
                                              {($ VSub_Name '$last_robj') 
                                                (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 '\\$'>) (Lit_LBrace '{') (concat_cmds) (Lit_RBrace '}') 
                                                        (Lit_TildeLike '~') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (RM)
                                                      } {($ VSub_Name '$last_robj') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)}
                                                    )
                                                  ]
                                                  spids: [16777215 41555]
                                                )
                                              ]
                                              spids: [16777215 41574]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:delfiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$delfiles') (' ') 
                                                        ($ VSub_Name '$output')
                                                      )
                                                    }
                                                  spids: [41577]
                                                )
                                              ]
                                              spids: [41577]
                                            )
                                          ]
                                          spids: [16777215 41229]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:output)
                                              op: Equal
                                              rhs: {(EmptyPart)}
                                              spids: [41589]
                                            )
                                          ]
                                          spids: [41589]
                                        )
                                      ]
                                      spids: [41586 41592]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C 
                                                  {
                                                    (BracedVarSub
                                                      token: <VSub_Name skipped_export>
                                                      suffix_op: 
                                                        (StringUnary
                                                          op_id: VTest_Hyphen
                                                          arg_word: {(false)}
                                                        )
                                                      spids: [41598 41602]
                                                    )
                                                  }
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_verbose)} 
                                              {
                                                (DQ ('generating symbol list for ') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\`'>
                                                  ) ($ VSub_Name '$libname') (".la'")
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:export_symbols)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$libname') (.exp)
                                                      )
                                                    }
                                                  spids: [41618]
                                                )
                                              ]
                                              spids: [41618]
                                            )
                                            (AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (C {($ VSub_Name '$RM')} 
                                                  {($ VSub_Name '$export_symbols')}
                                                )
                                              ]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libobjs)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$output')}
                                                  spids: [41636]
                                                )
                                              ]
                                              spids: [41636]
                                            )
                                            (AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$concat_cmds'))})
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:concat_cmds)
                                                      op: Equal
                                                      rhs: 
                                                        {($ VSub_Name '$concat_cmds') 
                                                          (Lit_TildeLike '~')
                                                        }
                                                      spids: [41654]
                                                    )
                                                  ]
                                                  spids: [41654]
                                                )
                                              ]
                                            )
                                            (C {(eval)} 
                                              {(Lit_VarLike 'concat_cmds=') 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar '\\"'>
                                                ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (concat_cmds) ($ VSub_Name '$export_symbols_cmds') 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar '\\"'>
                                                )
                                              }
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$last_robj'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(eval)} 
                                                      {(Lit_VarLike 'concat_cmds=') 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar '\\"'>
                                                        ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (concat_cmds) (Lit_TildeLike '~') 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar '\\$'>
                                                        ) (RM)
                                                      } {($ VSub_Name '$last_robj') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)}
                                                    )
                                                  ]
                                                  spids: [16777215 41680]
                                                )
                                              ]
                                              spids: [16777215 41697]
                                            )
                                          ]
                                          spids: [16777215 41605]
                                        )
                                      ]
                                      spids: [16777215 41700]
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$save_libobjs'))})
                                        (C {(func_verbose)} 
                                          {
                                            (DQ ('creating a temporary reloadable object file: ') 
                                              ($ VSub_Name '$output')
                                            )
                                          }
                                        )
                                      ]
                                    )
                                    (Sentence
                                      child: 
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:save_ifs)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$IFS'))}
                                              spids: [41728]
                                            )
                                          ]
                                          spids: [41728]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(SQ <'~'>)}
                                          spids: [41734]
                                        )
                                      ]
                                      spids: [41734]
                                    )
                                    (ForEach
                                      iter_name: cmd
                                      iter_words: [{($ VSub_Name '$concat_cmds')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                                  spids: [41752]
                                                )
                                              ]
                                              spids: [41752]
                                            )
                                            (AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (C {($ VSub_Name '$opt_silent')})
                                                (BraceGroup
                                                  children: [
                                                    (C {(func_quote_for_expand)} 
                                                      {(DQ ($ VSub_Name '$cmd'))}
                                                    )
                                                    (C {(eval)} 
                                                      {
                                                        (DQ ('func_echo ') 
                                                          ($ VSub_Name 
'$func_quote_for_expand_result'
                                                          )
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [41762]
                                                )
                                              ]
                                            )
                                            (AndOr
                                              ops: [Op_DPipe Op_DPipe]
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (C {(eval)} {(DQ ($ VSub_Name '$cmd'))})
                                                (BraceGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:lt_exit)
                                                          op: Equal
                                                          rhs: {($ VSub_QMark '$?')}
                                                          spids: [41798]
                                                        )
                                                      ]
                                                      spids: [41798]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(DQ ($ VSub_Name '$mode'))} 
                                                                  {(Lit_Other '=')} {(relink)}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Subshell
                                                              child: 
                                                                (AndOr
                                                                  ops: [Op_DAmp Op_DAmp]
                                                                  children: [
                                                                    (C {(cd)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
'$output_objdir'
                                                                          )
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {($ VSub_Name '$RM')} 
                                                                      {
                                                                        (DQ (${ VSub_Name realname) 
                                                                          (T)
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {($ VSub_Name '$MV')} 
                                                                      {
                                                                        (DQ (${ VSub_Name realname) 
                                                                          (U)
                                                                        )
                                                                      } {(DQ ($ VSub_Name '$realname'))}
                                                                    )
                                                                  ]
                                                                )
                                                              spids: [41823 41861]
                                                            )
                                                          ]
                                                          spids: [16777215 41820]
                                                        )
                                                      ]
                                                      spids: [16777215 41864]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Exit exit>
                                                      arg_word: {($ VSub_Name '$lt_exit')}
                                                    )
                                                  ]
                                                  spids: [41795]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [41749 41876]
                                        )
                                      spids: [41745 41747]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                          spids: [41879]
                                        )
                                      ]
                                      spids: [41879]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$export_symbols_regex'))}
                                                    )
                                                    (C 
                                                      {
                                                        (BracedVarSub
                                                          token: <VSub_Name skipped_export>
                                                          suffix_op: 
                                                            (StringUnary
                                                              op_id: VTest_Hyphen
                                                              arg_word: {(false)}
                                                            )
                                                          spids: [41898 41902]
                                                        )
                                                      }
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_show_eval)} 
                                              {
                                                (SQ 
                                                  <
'$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
                                                  >
                                                )
                                              }
                                            )
                                            (C {(func_show_eval)} 
                                              {(SQ <'$MV "${export_symbols}T" "$export_symbols"'>)}
                                            )
                                          ]
                                          spids: [16777215 41905]
                                        )
                                      ]
                                      spids: [16777215 41922]
                                    )
                                  ]
                                  spids: [41215 41925]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C 
                                              {
                                                (BracedVarSub
                                                  token: <VSub_Name skipped_export>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VTest_Hyphen
                                                      arg_word: {(false)}
                                                    )
                                                  spids: [41931 41935]
                                                )
                                              }
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (AndOr
                                                      ops: [Op_DAmp]
                                                      children: [
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$export_symbols'))}
                                                        )
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$include_expsyms'))}
                                                        )
                                                      ]
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:tmp_export_symbols)
                                                      op: Equal
                                                      rhs: {(DQ ($ VSub_Name '$export_symbols'))}
                                                      spids: [41965]
                                                    )
                                                  ]
                                                  spids: [41965]
                                                )
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$orig_export_symbols'))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:tmp_export_symbols)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name '$orig_export_symbols')
                                                              )
                                                            }
                                                          spids: [41981]
                                                        )
                                                      ]
                                                      spids: [41981]
                                                    )
                                                  ]
                                                )
                                                (AndOr
                                                  ops: [Op_DPipe]
                                                  children: [
                                                    (C {($ VSub_Name '$opt_dry_run')})
                                                    (C {(eval)} 
                                                      {
                                                        (SQ 
                                                          <
'$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
                                                          >
                                                        )
                                                      }
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [16777215 41962]
                                            )
                                          ]
                                          spids: [16777215 41998]
                                        )
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$orig_export_symbols'))}
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (C {(func_verbose)} 
                                                  {
                                                    (DQ ('filter symbol list for ') 
                                                      (EscapedLiteralPart
                                                        token: <Lit_EscapedChar '\\`'>
                                                      ) ($ VSub_Name '$libname') (".la' to tag DATA exports")
                                                    )
                                                  }
                                                )
                                                (AndOr
                                                  ops: [Op_DPipe]
                                                  children: [
                                                    (C {($ VSub_Name '$opt_dry_run')})
                                                    (SimpleCommand
                                                      words: [
                                                        {($ VSub_Name '$SED')}
                                                        {(-e)}
                                                        {
                                                          (SQ 
                                                            <
'/[ ,]DATA/!d;s,\\(.*\\)\\([ \\,].*\\),s|^\\1$|\\1\\2|,'
                                                            >
                                                          )
                                                        }
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op: <Redir_Less '<'>
                                                          fd: 16777215
                                                          arg_word: {($ VSub_Name '$export_symbols')}
                                                        )
                                                        (Redir
                                                          op: <Redir_Great '>'>
                                                          fd: 16777215
                                                          arg_word: 
                                                            {($ VSub_Name '$output_objdir') (/) 
                                                              ($ VSub_Name '$libname') (.filter)
                                                            }
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:delfiles)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$delfiles') (' ') 
                                                            ($ VSub_Name '$export_symbols') (' ') ($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$libname') (.filter)
                                                          )
                                                        }
                                                      spids: [42074]
                                                    )
                                                  ]
                                                  spids: [42074]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:export_symbols)
                                                      op: Equal
                                                      rhs: 
                                                        {($ VSub_Name '$output_objdir') (/) 
                                                          ($ VSub_Name '$libname') (.def)
                                                        }
                                                      spids: [42087]
                                                    )
                                                  ]
                                                  spids: [42087]
                                                )
                                                (AndOr
                                                  ops: [Op_DPipe]
                                                  children: [
                                                    (C {($ VSub_Name '$opt_dry_run')})
                                                    (SimpleCommand
                                                      words: [
                                                        {($ VSub_Name '$SED')}
                                                        {(-f)}
                                                        {($ VSub_Name '$output_objdir') (/) 
                                                          ($ VSub_Name '$libname') (.filter)
                                                        }
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op: <Redir_Less '<'>
                                                          fd: 16777215
                                                          arg_word: 
                                                            {($ VSub_Name '$orig_export_symbols')}
                                                        )
                                                        (Redir
                                                          op: <Redir_Great '>'>
                                                          fd: 16777215
                                                          arg_word: {($ VSub_Name '$export_symbols')}
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [16777215 42013]
                                            )
                                          ]
                                          spids: [16777215 42116]
                                        )
                                      ]
                                      spids: [16777215 41938]
                                    )
                                  ]
                                  spids: [16777215 42119]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:libobjs)
                                      op: Equal
                                      rhs: {($ VSub_Name '$output')}
                                      spids: [42123]
                                    )
                                  ]
                                  spids: [42123]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:output)
                                      op: Equal
                                      rhs: {($ VSub_Name '$save_output')}
                                      spids: [42131]
                                    )
                                  ]
                                  spids: [42131]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$convenience'))})
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$whole_archive_flag_spec'))}
                                                )
                                              ]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(eval)} 
                                          {(Lit_VarLike 'libobjs=') 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar '\\"'>
                                            ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (libobjs)
                                          } {($ VSub_Name '$whole_archive_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)}
                                        )
                                        (AndOr
                                          ops: [Op_DAmp]
                                          children: [
                                            (C {(test)} {(DQ (X) ($ VSub_Name '$libobjs'))} 
                                              {(Lit_Other '=')} {(DQ ('X '))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libobjs)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [42186]
                                                )
                                              ]
                                              spids: [42186]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [16777215 42157]
                                    )
                                  ]
                                  spids: [16777215 42189]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {(test)} {(DQ ($ VSub_Name '$module'))} 
                                                  {(Lit_Other '=')} {(yes)}
                                                )
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$module_cmds'))})
                                              ]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (AndOr
                                                      ops: [Op_DAmp]
                                                      children: [
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$export_symbols'))}
                                                        )
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$module_expsym_cmds'))}
                                                        )
                                                      ]
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:cmds)
                                                      op: Equal
                                                      rhs: {($ VSub_Name '$module_expsym_cmds')}
                                                      spids: [42256]
                                                    )
                                                  ]
                                                  spids: [42256]
                                                )
                                              ]
                                              spids: [16777215 42253]
                                            )
                                          ]
                                          else_action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:cmds)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$module_cmds')}
                                                  spids: [42263]
                                                )
                                              ]
                                              spids: [42263]
                                            )
                                          ]
                                          spids: [42260 42267]
                                        )
                                      ]
                                      spids: [16777215 42229]
                                    )
                                  ]
                                  else_action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$export_symbols'))}
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$archive_expsym_cmds'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:cmds)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$archive_expsym_cmds')}
                                                  spids: [42297]
                                                )
                                              ]
                                              spids: [42297]
                                            )
                                          ]
                                          spids: [16777215 42294]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:cmds)
                                              op: Equal
                                              rhs: {($ VSub_Name '$archive_cmds')}
                                              spids: [42304]
                                            )
                                          ]
                                          spids: [42304]
                                        )
                                      ]
                                      spids: [42301 42308]
                                    )
                                  ]
                                  spids: [42270 42311]
                                )
                              ]
                              spids: [40818 42314]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$delfiles'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {(Lit_VarLike 'cmds=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (cmds) (Lit_TildeLike '~') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\$'>
                                        ) (RM)
                                      } {($ VSub_Name '$delfiles') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)}
                                    )
                                  ]
                                  spids: [16777215 42329]
                                )
                              ]
                              spids: [16777215 42350]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dlprefiles'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:gentop)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                (${ VSub_Name outputname) (x)
                                              )
                                            }
                                          spids: [42372]
                                        )
                                      ]
                                      spids: [42372]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:generated)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$generated') (' ') 
                                                ($ VSub_Name '$gentop')
                                              )
                                            }
                                          spids: [42383]
                                        )
                                      ]
                                      spids: [42383]
                                    )
                                    (C {(func_extract_archives)} {($ VSub_Name '$gentop')} 
                                      {($ VSub_Name '$dlprefiles')}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:libobjs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$libobjs') (' ') 
                                                ($ VSub_Name '$func_extract_archives_result')
                                              )
                                            }
                                          spids: [42399]
                                        )
                                      ]
                                      spids: [42399]
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(DQ (X) ($ VSub_Name '$libobjs'))} 
                                          {(Lit_Other '=')} {(DQ ('X '))}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:libobjs)
                                              op: Equal
                                              rhs: {(EmptyPart)}
                                              spids: [42422]
                                            )
                                          ]
                                          spids: [42422]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 42369]
                                )
                              ]
                              spids: [16777215 42425]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$IFS'))}
                                      spids: [42429]
                                    )
                                  ]
                                  spids: [42429]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(SQ <'~'>)}
                                  spids: [42435]
                                )
                              ]
                              spids: [42435]
                            )
                            (ForEach
                              iter_name: cmd
                              iter_words: [{($ VSub_Name '$cmds')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                          spids: [42453]
                                        )
                                      ]
                                      spids: [42453]
                                    )
                                    (C {(eval)} 
                                      {(Lit_VarLike 'cmd=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) ($ VSub_Name '$cmd') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                      }
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_silent')})
                                        (BraceGroup
                                          children: [
                                            (C {(func_quote_for_expand)} {(DQ ($ VSub_Name '$cmd'))})
                                            (C {(eval)} 
                                              {
                                                (DQ ('func_echo ') 
                                                  ($ VSub_Name '$func_quote_for_expand_result')
                                                )
                                              }
                                            )
                                          ]
                                          spids: [42471]
                                        )
                                      ]
                                    )
                                    (AndOr
                                      ops: [Op_DPipe Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (C {(eval)} {(DQ ($ VSub_Name '$cmd'))})
                                        (BraceGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lt_exit)
                                                  op: Equal
                                                  rhs: {($ VSub_QMark '$?')}
                                                  spids: [42507]
                                                )
                                              ]
                                              spids: [42507]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$mode'))} 
                                                          {(Lit_Other '=')} {(relink)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Subshell
                                                      child: 
                                                        (AndOr
                                                          ops: [Op_DAmp Op_DAmp]
                                                          children: [
                                                            (C {(cd)} 
                                                              {(DQ ($ VSub_Name '$output_objdir'))}
                                                            )
                                                            (C {($ VSub_Name '$RM')} 
                                                              {(DQ (${ VSub_Name realname) (T))}
                                                            )
                                                            (C {($ VSub_Name '$MV')} 
                                                              {(DQ (${ VSub_Name realname) (U))} {(DQ ($ VSub_Name '$realname'))}
                                                            )
                                                          ]
                                                        )
                                                      spids: [42532 42570]
                                                    )
                                                  ]
                                                  spids: [16777215 42529]
                                                )
                                              ]
                                              spids: [16777215 42573]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Exit exit>
                                              arg_word: {($ VSub_Name '$lt_exit')}
                                            )
                                          ]
                                          spids: [42504]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [42450 42585]
                                )
                              spids: [42446 42448]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                  spids: [42588]
                                )
                              ]
                              spids: [42588]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} 
                                          {(relink)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      ops: [Op_DPipe Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (C {(eval)} 
                                          {
                                            (SQ 
                                              <
'(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)'
                                              >
                                            )
                                          }
                                        )
                                        (ControlFlow
                                          token: <ControlFlow_Exit exit>
                                          arg_word: {($ VSub_QMark '$?')}
                                        )
                                      ]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$convenience'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-z)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name '$whole_archive_flag_spec')
                                                            )
                                                          }
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_show_eval)} {(SQ <'${RM}r "$gentop"'>)})
                                                  ]
                                                  spids: [16777215 42658]
                                                )
                                              ]
                                              spids: [16777215 42668]
                                            )
                                          ]
                                          spids: [16777215 42644]
                                        )
                                      ]
                                      spids: [16777215 42671]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Exit exit>
                                      arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                                    )
                                  ]
                                  spids: [16777215 42612]
                                )
                              ]
                              spids: [16777215 42680]
                            )
                            (ForEach
                              iter_name: linkname
                              iter_words: [{($ VSub_Name '$linknames')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$realname'))} 
                                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$linkname'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_show_eval)} 
                                              {
                                                (SQ 
                                                  <
'(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")'
                                                  >
                                                )
                                              } {(SQ <'exit $?'>)}
                                            )
                                          ]
                                          spids: [16777215 42716]
                                        )
                                      ]
                                      spids: [16777215 42730]
                                    )
                                  ]
                                  spids: [42697 42733]
                                )
                              spids: [42693 42695]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DPipe]
                                          children: [
                                            (C {(test)} {(DQ ($ VSub_Name '$module'))} {(Lit_Other '=')} 
                                              {(yes)}
                                            )
                                            (C {(test)} {(DQ ($ VSub_Name '$export_dynamic'))} 
                                              {(Lit_Other '=')} {(yes)}
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlname)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$soname'))}
                                          spids: [42773]
                                        )
                                      ]
                                      spids: [42773]
                                    )
                                  ]
                                  spids: [16777215 42766]
                                )
                              ]
                              spids: [16777215 42779]
                            )
                          ]
                          spids: [16777215 38966]
                        )
                      ]
                      spids: [16777215 42782]
                    )
                  ]
                  spids: [33380 33381 42785 16777215]
                )
                (case_arm
                  pat_list: [{(obj)}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(test)} {(-n)} 
                                      {(DQ ($ VSub_Name '$dlfiles') ($ VSub_Name '$dlprefiles'))}
                                    )
                                    (C {(test)} {(DQ ($ VSub_Name '$dlself'))} 
                                      {(KW_Bang '!') (Lit_Other '=')} {(no)}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_warning)} 
                              {
                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                  ("-dlopen' is ignored for objects")
                                )
                              }
                            )
                          ]
                          spids: [16777215 42818]
                        )
                      ]
                      spids: [16777215 42829]
                    )
                    (Case
                      to_match: {(DQ (' ') ($ VSub_Name '$deplibs'))}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(Lit_Other '*') (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (-l) 
                              (Lit_Other '*')
                            }
                            {(Lit_Other '*') (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (-L) 
                              (Lit_Other '*')
                            }
                          ]
                          action: [
                            (C {(func_warning)} 
                              {
                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-l' and ") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\`'>
                                  ) ("-L' are ignored for objects")
                                )
                              }
                            )
                          ]
                          spids: [42843 42854 42866 16777215]
                        )
                      ]
                      spids: [42833 42840 42869]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$rpath'))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                              ("-rpath' is ignored for objects")
                            )
                          }
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$xrpath'))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                              ("-R' is ignored for objects")
                            )
                          }
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$vinfo'))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                              ("-version-info' is ignored for objects")
                            )
                          }
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$release'))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                              ("-release' is ignored for objects")
                            )
                          }
                        )
                      ]
                    )
                    (Case
                      to_match: {($ VSub_Name '$output')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.lo)}]
                          action: [
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(test)} {(-n)} 
                                  {(DQ ($ VSub_Name '$objs') ($ VSub_Name '$old_deplibs'))}
                                )
                                (C {(func_fatal_error)} 
                                  {
                                    (DQ ('cannot build library object ') 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\`'>
                                      ) ($ VSub_Name '$output') ("' from non-libtool objects")
                                    )
                                  }
                                )
                              ]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libobj)
                                  op: Equal
                                  rhs: {($ VSub_Name '$output')}
                                  spids: [42993]
                                )
                              ]
                              spids: [42993]
                            )
                            (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: [43004]
                                )
                              ]
                              spids: [43004]
                            )
                          ]
                          spids: [42964 42966 43008 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libobj)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [43015]
                                )
                              ]
                              spids: [43015]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:obj)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$output'))}
                                  spids: [43018]
                                )
                              ]
                              spids: [43018]
                            )
                          ]
                          spids: [43011 43012 43024 16777215]
                        )
                      ]
                      spids: [42957 42961 43027]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {($ VSub_Name '$opt_dry_run')})
                        (C {($ VSub_Name '$RM')} {($ VSub_Name '$obj')} {($ VSub_Name '$libobj')})
                      ]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:reload_conv_objs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [43063]
                        )
                      ]
                      spids: [43063]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:gentop)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [43066]
                        )
                      ]
                      spids: [43066]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:wl)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [43081]
                        )
                      ]
                      spids: [43081]
                    )
                    (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 '\\"'>)
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:reload_conv_objs)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name '$reload_objs') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\ '>
                                              ) 
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {
                                                              (DQ (X) 
                                                                ($ VSub_Name 
'$tmp_whole_archive_flags'
                                                                )
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                            {(SQ <'s|,| |g'>)}
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [43124 43141]
                                              )
                                            }
                                          spids: [43121]
                                        )
                                      ]
                                      spids: [43121]
                                    )
                                  ]
                                  spids: [16777215 43110]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:gentop)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$output_objdir') (/) (${ VSub_Name obj) (x))
                                        }
                                      spids: [43147]
                                    )
                                  ]
                                  spids: [43147]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:generated)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$generated') (' ') ($ VSub_Name '$gentop'))
                                        }
                                      spids: [43158]
                                    )
                                  ]
                                  spids: [43158]
                                )
                                (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: [43174]
                                    )
                                  ]
                                  spids: [43174]
                                )
                              ]
                              spids: [43144 43182]
                            )
                          ]
                          spids: [16777215 43096]
                        )
                      ]
                      spids: [16777215 43185]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:reload_objs)
                          op: Equal
                          rhs: 
                            {(DQ ($ VSub_Name '$objs') ($ VSub_Name '$old_deplibs') (' ')) 
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name '$ECHO')} {(DQ (X) ($ VSub_Name '$libobjs'))})
                                          (C {($ VSub_Name '$SP2NL')})
                                          (C {($ VSub_Name '$Xsed')} {(-e)} 
                                            {(SQ <'/\\.'>) (${ VSub_Name libext) 
                                              (SingleQuotedPart
                                                left: <Left_DollarSingleQuote "$'">
                                                tokens: [<Char_Literals /d>]
                                                spids: [43223 43225]
                                              )
                                            } {(-e)} {(SQ <'/\\.lib$/d'>)} {(-e)} {(DQ ($ VSub_Name '$lo2o'))}
                                          )
                                          (C {($ VSub_Name '$NL2SP')})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [43199 43242]
                              ) (DQ (' ') ($ VSub_Name '$reload_conv_objs'))
                            }
                          spids: [43193]
                        )
                      ]
                      spids: [43193]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:output)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$obj'))}
                          spids: [43253]
                        )
                      ]
                      spids: [43253]
                    )
                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$reload_cmds'))} {(SQ <'exit $?'>)})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$libobj'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$gentop'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [(C {(func_show_eval)} {(SQ <'${RM}r "$gentop"'>)})]
                                  spids: [16777215 43300]
                                )
                              ]
                              spids: [16777215 43310]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                            )
                          ]
                          spids: [16777215 43286]
                        )
                      ]
                      spids: [16777215 43319]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$gentop'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [(C {(func_show_eval)} {(SQ <'${RM}r "$gentop"'>)})]
                                  spids: [16777215 43351]
                                )
                              ]
                              spids: [16777215 43361]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                            )
                          ]
                          spids: [16777215 43337]
                        )
                      ]
                      spids: [16777215 43386]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$pic_flag'))})
                                    (C {(test)} {(DQ ($ VSub_Name '$pic_mode'))} 
                                      {(KW_Bang '!') (Lit_Other '=')} {(default)}
                                    )
                                  ]
                                )
                              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: [43421]
                                )
                              ]
                              spids: [43421]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:output)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$libobj'))}
                                  spids: [43429]
                                )
                              ]
                              spids: [43429]
                            )
                            (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$reload_cmds'))} 
                              {(SQ <'exit $?'>)}
                            )
                          ]
                          spids: [16777215 43414]
                        )
                      ]
                      spids: [16777215 43446]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$gentop'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(func_show_eval)} {(SQ <'${RM}r "$gentop"'>)})]
                          spids: [16777215 43461]
                        )
                      ]
                      spids: [16777215 43471]
                    )
                    (ControlFlow
                      token: <ControlFlow_Exit exit>
                      arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                    )
                  ]
                  spids: [42789 42790 43480 16777215]
                )
                (case_arm
                  pat_list: [{(prog)}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name '$host')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (cygwin) (Lit_Other '*')}]
                          action: [
                            (C {(func_stripname)} {(SQ )} {(SQ <.exe>)} {(DQ ($ VSub_Name '$output'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:output)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_stripname_result') (.exe)}
                                  spids: [43514]
                                )
                              ]
                              spids: [43514]
                            )
                          ]
                          spids: [43495 43498 43517 16777215]
                        )
                      ]
                      spids: [43488 43492 43520]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$vinfo'))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                              ("-version-info' is ignored for programs")
                            )
                          }
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$release'))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                              ("-release' is ignored for programs")
                            )
                          }
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp Op_DAmp Op_DAmp Op_DAmp]
                      children: [
                        (C {(test)} {(DQ ($ VSub_Name '$preload'))} {(Lit_Other '=')} {(yes)})
                        (C {(test)} {(DQ ($ VSub_Name '$dlopen_support'))} {(Lit_Other '=')} {(unknown)})
                        (C {(test)} {(DQ ($ VSub_Name '$dlopen_self'))} {(Lit_Other '=')} {(unknown)})
                        (C {(test)} {(DQ ($ VSub_Name '$dlopen_self_static'))} {(Lit_Other '=')} 
                          {(unknown)}
                        )
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                              ("LT_INIT([dlopen])' not used. Assuming no dlopen support.")
                            )
                          }
                        )
                      ]
                    )
                    (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 ('X ') ($ VSub_Name '$compile_deplibs'))}
                                                  )
                                                  (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                    {(SQ <'s/ -lc / System.ltframework /'>)}
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [43660 43677]
                                      )
                                    }
                                  spids: [43659]
                                )
                              ]
                              spids: [43659]
                            )
                            (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 ('X ') ($ VSub_Name '$finalize_deplibs'))}
                                                  )
                                                  (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                    {(SQ <'s/ -lc / System.ltframework /'>)}
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [43681 43698]
                                      )
                                    }
                                  spids: [43680]
                                )
                              ]
                              spids: [43680]
                            )
                          ]
                          spids: [43637 43652 43701 16777215]
                        )
                      ]
                      spids: [43630 43634 43704]
                    )
                    (Case
                      to_match: {($ VSub_Name '$host')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (-) (Lit_Other '*') (-darwin) (Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$tagname'))} {(Lit_Other '=')} 
                                          {(CXX)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Case
                                      to_match: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name MACOSX_DEPLOYMENT_TARGET>
                                            suffix_op: 
                                              (StringUnary
                                                op_id: VTest_Hyphen
                                                arg_word: {(10.0)}
                                              )
                                            spids: [43750 43754]
                                          )
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [{(10.) (Lit_Other '[') (0123) (Lit_Other ']')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:compile_command)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$compile_command') (' ') 
                                                        (${ VSub_Name wl) (-bind_at_load)
                                                      )
                                                    }
                                                  spids: [43766]
                                                )
                                              ]
                                              spids: [43766]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_command)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$finalize_command') (' ') 
                                                        (${ VSub_Name wl) (-bind_at_load)
                                                      )
                                                    }
                                                  spids: [43777]
                                                )
                                              ]
                                              spids: [43777]
                                            )
                                          ]
                                          spids: [43759 43763 43788 16777215]
                                        )
                                      ]
                                      spids: [43748 43756 43791]
                                    )
                                  ]
                                  spids: [16777215 43745]
                                )
                              ]
                              spids: [16777215 43794]
                            )
                            (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 ('X ') ($ VSub_Name '$compile_deplibs'))}
                                                  )
                                                  (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                    {
                                                      (SQ 
                                                        <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [43802 43819]
                                      )
                                    }
                                  spids: [43801]
                                )
                              ]
                              spids: [43801]
                            )
                            (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 ('X ') ($ VSub_Name '$finalize_deplibs'))}
                                                  )
                                                  (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                    {
                                                      (SQ 
                                                        <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [43823 43840]
                                      )
                                    }
                                  spids: [43822]
                                )
                              ]
                              spids: [43822]
                            )
                          ]
                          spids: [43715 43720 43843 16777215]
                        )
                      ]
                      spids: [43708 43712 43846]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new_libs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [43859]
                        )
                      ]
                      spids: [43859]
                    )
                    (ForEach
                      iter_name: path
                      iter_words: [{($ VSub_Name '$notinst_path')}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {(DQ (' ') ($ VSub_Name '$new_libs') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') 
                                      (DQ (' -L') ($ VSub_Name '$path') (/) ($ VSub_Name '$objdir') (' ')) (Lit_Other '*')
                                    }
                                  ]
                                  spids: [43885 43894 43896 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Case
                                      to_match: {(DQ (' ') ($ VSub_Name '$compile_deplibs') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') 
                                              (DQ (' -L') ($ VSub_Name '$path') (/) 
                                                ($ VSub_Name '$objdir') (' ')
                                              ) (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:new_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$new_libs') (' -L') 
                                                        ($ VSub_Name '$path') (/) ($ VSub_Name '$objdir')
                                                      )
                                                    }
                                                  spids: [43926]
                                                )
                                              ]
                                              spids: [43926]
                                            )
                                          ]
                                          spids: [43914 43923 43935 16777215]
                                        )
                                      ]
                                      spids: [43903 43911 43938]
                                    )
                                  ]
                                  spids: [43899 43900 43941 16777215]
                                )
                              ]
                              spids: [43874 43882 43944]
                            )
                          ]
                          spids: [43871 43947]
                        )
                      spids: [43867 43869]
                    )
                    (ForEach
                      iter_name: deplib
                      iter_words: [{($ VSub_Name '$compile_deplibs')}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name '$deplib')}
                              arms: [
                                (case_arm
                                  pat_list: [{(-L) (Lit_Other '*')}]
                                  action: [
                                    (Case
                                      to_match: {(DQ (' ') ($ VSub_Name '$new_libs') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$deplib') (' ')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [43985 43992 43994 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:new_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$new_libs') (' ') 
                                                        ($ VSub_Name '$deplib')
                                                      )
                                                    }
                                                  spids: [44000]
                                                )
                                              ]
                                              spids: [44000]
                                            )
                                          ]
                                          spids: [43997 43998 44007 16777215]
                                        )
                                      ]
                                      spids: [43974 43982 44010]
                                    )
                                  ]
                                  spids: [43969 43971 44013 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:new_libs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$new_libs') (' ') 
                                                ($ VSub_Name '$deplib')
                                              )
                                            }
                                          spids: [44019]
                                        )
                                      ]
                                      spids: [44019]
                                    )
                                  ]
                                  spids: [44016 44017 44026 16777215]
                                )
                              ]
                              spids: [43962 43966 44029]
                            )
                          ]
                          spids: [43959 44032]
                        )
                      spids: [43955 43957]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_deplibs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$new_libs'))}
                          spids: [44035]
                        )
                      ]
                      spids: [44035]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_command)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$compile_command') (' ') 
                                ($ VSub_Name '$compile_deplibs')
                              )
                            }
                          spids: [44043]
                        )
                      ]
                      spids: [44043]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_command)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$finalize_command') (' ') 
                                ($ VSub_Name '$finalize_deplibs')
                              )
                            }
                          spids: [44051]
                        )
                      ]
                      spids: [44051]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$rpath') ($ VSub_Name '$xrpath'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (ForEach
                              iter_name: libdir
                              iter_words: [{($ VSub_Name '$rpath')} {($ VSub_Name '$xrpath')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {(DQ ($ VSub_Name '$finalize_rpath') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$libdir') (' ')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [44107 44114 44116 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_rpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$finalize_rpath') (' ') 
                                                        ($ VSub_Name '$libdir')
                                                      )
                                                    }
                                                  spids: [44122]
                                                )
                                              ]
                                              spids: [44122]
                                            )
                                          ]
                                          spids: [44119 44120 44129 16777215]
                                        )
                                      ]
                                      spids: [44097 44104 44132]
                                    )
                                  ]
                                  spids: [44090 44135]
                                )
                              spids: [44084 44088]
                            )
                          ]
                          spids: [16777215 44072]
                        )
                      ]
                      spids: [16777215 44138]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpath)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [44146]
                        )
                      ]
                      spids: [44146]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hardcode_libdirs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [44149]
                        )
                      ]
                      spids: [44149]
                    )
                    (ForEach
                      iter_name: libdir
                      iter_words: [{($ VSub_Name '$compile_rpath')} {($ VSub_Name '$finalize_rpath')}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-n)} 
                                          {(DQ ($ VSub_Name '$hardcode_libdir_flag_spec'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$hardcode_libdir_separator'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name '$hardcode_libdirs'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:hardcode_libdirs)
                                                          op: Equal
                                                          rhs: {(DQ ($ VSub_Name '$libdir'))}
                                                          spids: [44208]
                                                        )
                                                      ]
                                                      spids: [44208]
                                                    )
                                                  ]
                                                  spids: [16777215 44205]
                                                )
                                              ]
                                              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: [44230 44237 44240 16777215]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:hardcode_libdirs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ 
                                                                    ($ VSub_Name '$hardcode_libdirs') ($ VSub_Name '$hardcode_libdir_separator') ($ VSub_Name '$libdir')
                                                                  )
                                                                }
                                                              spids: [44247]
                                                            )
                                                          ]
                                                          spids: [44247]
                                                        )
                                                      ]
                                                      spids: [44243 44244 44255 16777215]
                                                    )
                                                  ]
                                                  spids: [44221 44227 44258]
                                                )
                                              ]
                                              spids: [44214 44261]
                                            )
                                          ]
                                          spids: [16777215 44191]
                                        )
                                      ]
                                      else_action: [
                                        (C {(eval)} 
                                          {(Lit_VarLike 'flag=') 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar '\\"'>
                                            ) ($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                          }
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:rpath)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$rpath') (' ') 
                                                    ($ VSub_Name '$flag')
                                                  )
                                                }
                                              spids: [44275]
                                            )
                                          ]
                                          spids: [44275]
                                        )
                                      ]
                                      spids: [44264 44283]
                                    )
                                  ]
                                  spids: [16777215 44177]
                                )
                                (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: [44310 44317 44319 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:perm_rpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$perm_rpath') (' ') 
                                                        ($ VSub_Name '$libdir')
                                                      )
                                                    }
                                                  spids: [44325]
                                                )
                                              ]
                                              spids: [44325]
                                            )
                                          ]
                                          spids: [44322 44323 44332 16777215]
                                        )
                                      ]
                                      spids: [44300 44307 44335]
                                    )
                                  ]
                                  spids: [44286 44297]
                                )
                              ]
                              spids: [16777215 44338]
                            )
                            (Case
                              to_match: {($ VSub_Name '$host')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-cygwin) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-mingw) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-pw32) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-os2) (Lit_Other '*')}
                                    {(Lit_Other '*') (-cegcc) (Lit_Other '*')}
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:testbindir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(${ VSub_Name ECHO)} 
                                                            {(DQ ($ VSub_Name '$libdir'))}
                                                          )
                                                          (C {(${ VSub_Name SED)} {(-e)} 
                                                            {(SQ <'s*/lib$*/bin*'>)}
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [44387 44407]
                                              )
                                            }
                                          spids: [44386]
                                        )
                                      ]
                                      spids: [44386]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ':') ($ VSub_Name '$dllsearchpath') 
                                          (Lit_Other ':')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (':') ($ VSub_Name '$libdir') (':')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [44419 44426 44428 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other ':') (Lit_Other ':')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$libdir')}
                                                  spids: [44435]
                                                )
                                              ]
                                              spids: [44435]
                                            )
                                          ]
                                          spids: [44431 44433 44437 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$dllsearchpath') (':') 
                                                        ($ VSub_Name '$libdir')
                                                      )
                                                    }
                                                  spids: [44443]
                                                )
                                              ]
                                              spids: [44443]
                                            )
                                          ]
                                          spids: [44440 44441 44449 16777215]
                                        )
                                      ]
                                      spids: [44410 44416 44452]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ':') ($ VSub_Name '$dllsearchpath') 
                                          (Lit_Other ':')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') 
                                              (DQ (':') ($ VSub_Name '$testbindir') (':')) (Lit_Other '*')
                                            }
                                          ]
                                          spids: [44464 44471 44473 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other ':') (Lit_Other ':')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$testbindir')}
                                                  spids: [44480]
                                                )
                                              ]
                                              spids: [44480]
                                            )
                                          ]
                                          spids: [44476 44478 44482 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$dllsearchpath') (':') 
                                                        ($ VSub_Name '$testbindir')
                                                      )
                                                    }
                                                  spids: [44488]
                                                )
                                              ]
                                              spids: [44488]
                                            )
                                          ]
                                          spids: [44485 44486 44494 16777215]
                                        )
                                      ]
                                      spids: [44455 44461 44497]
                                    )
                                  ]
                                  spids: [44348 44383 44500 16777215]
                                )
                              ]
                              spids: [44341 44345 44503]
                            )
                          ]
                          spids: [44163 44506]
                        )
                      spids: [44157 44161]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$hardcode_libdir_separator'))})
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$hardcode_libdirs'))})
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libdir)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$hardcode_libdirs'))}
                                  spids: [44538]
                                )
                              ]
                              spids: [44538]
                            )
                            (C {(eval)} 
                              {(Lit_VarLike 'rpath=') 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar '\\"'>
                                )
                              } {($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)}
                            )
                          ]
                          spids: [16777215 44535]
                        )
                      ]
                      spids: [16777215 44553]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_rpath)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$rpath'))}
                          spids: [44556]
                        )
                      ]
                      spids: [44556]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpath)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [44563]
                        )
                      ]
                      spids: [44563]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hardcode_libdirs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [44566]
                        )
                      ]
                      spids: [44566]
                    )
                    (ForEach
                      iter_name: libdir
                      iter_words: [{($ VSub_Name '$finalize_rpath')}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-n)} 
                                          {(DQ ($ VSub_Name '$hardcode_libdir_flag_spec'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$hardcode_libdir_separator'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name '$hardcode_libdirs'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:hardcode_libdirs)
                                                          op: Equal
                                                          rhs: {(DQ ($ VSub_Name '$libdir'))}
                                                          spids: [44623]
                                                        )
                                                      ]
                                                      spids: [44623]
                                                    )
                                                  ]
                                                  spids: [16777215 44620]
                                                )
                                              ]
                                              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: [44645 44652 44655 16777215]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:hardcode_libdirs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ 
                                                                    ($ VSub_Name '$hardcode_libdirs') ($ VSub_Name '$hardcode_libdir_separator') ($ VSub_Name '$libdir')
                                                                  )
                                                                }
                                                              spids: [44662]
                                                            )
                                                          ]
                                                          spids: [44662]
                                                        )
                                                      ]
                                                      spids: [44658 44659 44670 16777215]
                                                    )
                                                  ]
                                                  spids: [44636 44642 44673]
                                                )
                                              ]
                                              spids: [44629 44676]
                                            )
                                          ]
                                          spids: [16777215 44606]
                                        )
                                      ]
                                      else_action: [
                                        (C {(eval)} 
                                          {(Lit_VarLike 'flag=') 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar '\\"'>
                                            ) ($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                          }
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:rpath)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$rpath') (' ') 
                                                    ($ VSub_Name '$flag')
                                                  )
                                                }
                                              spids: [44690]
                                            )
                                          ]
                                          spids: [44690]
                                        )
                                      ]
                                      spids: [44679 44698]
                                    )
                                  ]
                                  spids: [16777215 44592]
                                )
                                (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: [44725 44732 44734 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_perm_rpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$finalize_perm_rpath') (' ') 
                                                        ($ VSub_Name '$libdir')
                                                      )
                                                    }
                                                  spids: [44740]
                                                )
                                              ]
                                              spids: [44740]
                                            )
                                          ]
                                          spids: [44737 44738 44747 16777215]
                                        )
                                      ]
                                      spids: [44715 44722 44750]
                                    )
                                  ]
                                  spids: [44701 44712]
                                )
                              ]
                              spids: [16777215 44753]
                            )
                          ]
                          spids: [44578 44756]
                        )
                      spids: [44574 44576]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$hardcode_libdir_separator'))})
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$hardcode_libdirs'))})
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libdir)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$hardcode_libdirs'))}
                                  spids: [44788]
                                )
                              ]
                              spids: [44788]
                            )
                            (C {(eval)} 
                              {(Lit_VarLike 'rpath=') 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar '\\"'>
                                )
                              } {($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)}
                            )
                          ]
                          spids: [16777215 44785]
                        )
                      ]
                      spids: [16777215 44803]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_rpath)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$rpath'))}
                          spids: [44806]
                        )
                      ]
                      spids: [44806]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$libobjs'))})
                                    (C {(test)} {(DQ ($ VSub_Name '$build_old_libs'))} {(Lit_Other '=')} 
                                      {(yes)}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:compile_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ (X) ($ VSub_Name '$compile_command'))}
                                                  )
                                                  (C {($ VSub_Name '$SP2NL')})
                                                  (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                    {(DQ ($ VSub_Name '$lo2o'))}
                                                  )
                                                  (C {($ VSub_Name '$NL2SP')})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [44844 44869]
                                      )
                                    }
                                  spids: [44843]
                                )
                              ]
                              spids: [44843]
                            )
                            (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 (X) ($ VSub_Name '$finalize_command'))}
                                                  )
                                                  (C {($ VSub_Name '$SP2NL')})
                                                  (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                    {(DQ ($ VSub_Name '$lo2o'))}
                                                  )
                                                  (C {($ VSub_Name '$NL2SP')})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [44873 44898]
                                      )
                                    }
                                  spids: [44872]
                                )
                              ]
                              spids: [44872]
                            )
                          ]
                          spids: [16777215 44836]
                        )
                      ]
                      spids: [16777215 44901]
                    )
                    (C {(func_generate_dlsyms)} {(DQ ($ VSub_Name '$outputname'))} {(DQ ('@PROGRAM@'))} 
                      {(DQ (no))}
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$prelink_cmds'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$prelink_cmds'))} 
                              {(SQ <'exit $?'>)}
                            )
                          ]
                          spids: [16777215 44936]
                        )
                      ]
                      spids: [16777215 44950]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:wrappers_required)
                          op: Equal
                          rhs: {(yes)}
                          spids: [44954]
                        )
                      ]
                      spids: [44954]
                    )
                    (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 {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:wrappers_required)
                                          op: Equal
                                          rhs: {(no)}
                                          spids: [44995]
                                        )
                                      ]
                                      spids: [44995]
                                    )
                                  ]
                                  spids: [16777215 44992]
                                )
                              ]
                              spids: [16777215 44999]
                            )
                          ]
                          spids: [44965 44975 45002 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (cegcc)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:wrappers_required)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [45014]
                                )
                              ]
                              spids: [45014]
                            )
                          ]
                          spids: [45005 45007 45018 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DPipe]
                                          children: [
                                            (C {(test)} {(DQ ($ VSub_Name '$need_relink'))} 
                                              {(Lit_Other '=')} {(no)}
                                            )
                                            (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} 
                                              {(KW_Bang '!') (Lit_Other '=')} {(yes)}
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:wrappers_required)
                                          op: Equal
                                          rhs: {(no)}
                                          spids: [45054]
                                        )
                                      ]
                                      spids: [45054]
                                    )
                                  ]
                                  spids: [16777215 45051]
                                )
                              ]
                              spids: [16777215 45058]
                            )
                          ]
                          spids: [45021 45022 45061 16777215]
                        )
                      ]
                      spids: [44958 44962 45064]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$wrappers_required'))} {(Lit_Other '=')} 
                                  {(no)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:compile_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ (X) ($ VSub_Name '$compile_command'))}
                                                  )
                                                  (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                    {(SQ <'s%@OUTPUT@%'>) 
                                                      (DQ ($ VSub_Name '$output')) (SQ <'%g'>)
                                                    }
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [45088 45111]
                                      )
                                    }
                                  spids: [45087]
                                )
                              ]
                              spids: [45087]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$compile_command') 
                                        ($ VSub_Name '$compile_rpath')
                                      )
                                    }
                                  spids: [45114]
                                )
                              ]
                              spids: [45114]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:exit_status)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [45126]
                                )
                              ]
                              spids: [45126]
                            )
                            (C {(func_show_eval)} {(DQ ($ VSub_Name '$link_command'))} 
                              {(SQ <'exit_status=$?'>)}
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-f)} 
                                          {
                                            (DQ ($ VSub_Name '$output_objdir') (/) 
                                              (${ VSub_Name outputname) (S.) (${ VSub_Name objext)
                                            )
                                          }
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_show_eval)} 
                                      {(SQ <'$RM "$output_objdir/${outputname}S.${objext}"'>)}
                                    )
                                  ]
                                  spids: [16777215 45165]
                                )
                              ]
                              spids: [16777215 45175]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$exit_status')}
                            )
                          ]
                          spids: [16777215 45080]
                        )
                      ]
                      spids: [16777215 45184]
                    )
                    (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: [45203]
                                )
                              ]
                              spids: [45203]
                            )
                          ]
                          spids: [16777215 45200]
                        )
                      ]
                      spids: [16777215 45218]
                    )
                    (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: [45235]
                                )
                              ]
                              spids: [45235]
                            )
                          ]
                          spids: [16777215 45232]
                        )
                      ]
                      spids: [16777215 45249]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_var)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [45253]
                        )
                      ]
                      spids: [45253]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_var)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [45256]
                        )
                      ]
                      spids: [45256]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$runpath_var'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$perm_rpath'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:rpath)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [45291]
                                        )
                                      ]
                                      spids: [45291]
                                    )
                                    (ForEach
                                      iter_name: dir
                                      iter_words: [{($ VSub_Name '$perm_rpath')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:rpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$rpath') ($ VSub_Name '$dir') 
                                                        (':')
                                                      )
                                                    }
                                                  spids: [45306]
                                                )
                                              ]
                                              spids: [45306]
                                            )
                                          ]
                                          spids: [45303 45314]
                                        )
                                      spids: [45299 45301]
                                    )
                                    (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: [45317]
                                        )
                                      ]
                                      spids: [45317]
                                    )
                                  ]
                                  spids: [16777215 45284]
                                )
                              ]
                              spids: [16777215 45330]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$finalize_perm_rpath'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:rpath)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [45351]
                                        )
                                      ]
                                      spids: [45351]
                                    )
                                    (ForEach
                                      iter_name: dir
                                      iter_words: [{($ VSub_Name '$finalize_perm_rpath')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:rpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$rpath') ($ VSub_Name '$dir') 
                                                        (':')
                                                      )
                                                    }
                                                  spids: [45366]
                                                )
                                              ]
                                              spids: [45366]
                                            )
                                          ]
                                          spids: [45363 45374]
                                        )
                                      spids: [45359 45361]
                                    )
                                    (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: [45377]
                                        )
                                      ]
                                      spids: [45377]
                                    )
                                  ]
                                  spids: [16777215 45344]
                                )
                              ]
                              spids: [16777215 45390]
                            )
                          ]
                          spids: [16777215 45270]
                        )
                      ]
                      spids: [16777215 45393]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$no_install'))} {(Lit_Other '=')} {(yes)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$compile_var') 
                                        ($ VSub_Name '$compile_command') ($ VSub_Name '$compile_rpath')
                                      )
                                    }
                                  spids: [45417]
                                )
                              ]
                              spids: [45417]
                            )
                            (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 (X) ($ VSub_Name '$link_command'))}
                                                  )
                                                  (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                    {(SQ <'s%@OUTPUT@%'>) 
                                                      (DQ ($ VSub_Name '$output')) (SQ <'%g'>)
                                                    }
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [45430 45453]
                                      )
                                    }
                                  spids: [45429]
                                )
                              ]
                              spids: [45429]
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (C {($ VSub_Name '$RM')} {($ VSub_Name '$output')})
                              ]
                            )
                            (C {(func_show_eval)} {(DQ ($ VSub_Name '$link_command'))} {(SQ <'exit $?'>)})
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                            )
                          ]
                          spids: [16777215 45410]
                        )
                      ]
                      spids: [16777215 45489]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$hardcode_action'))} {(Lit_Other '=')} 
                                  {(relink)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$compile_var') 
                                        ($ VSub_Name '$compile_command') ($ VSub_Name '$compile_rpath')
                                      )
                                    }
                                  spids: [45513]
                                )
                              ]
                              spids: [45513]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$finalize_var') 
                                        ($ VSub_Name '$finalize_command') ($ VSub_Name '$finalize_rpath')
                                      )
                                    }
                                  spids: [45521]
                                )
                              ]
                              spids: [45521]
                            )
                            (C {(func_warning)} 
                              {(DQ ('this platform does not like uninstalled shared libraries'))}
                            )
                            (C {(func_warning)} 
                              {
                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                  ($ VSub_Name '$output') ("' will be relinked during installation")
                                )
                              }
                            )
                          ]
                          spids: [16777215 45506]
                        )
                      ]
                      else_action: [
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(test)} {(DQ ($ VSub_Name '$fast_install'))} 
                                      {(KW_Bang '!') (Lit_Other '=')} {(no)}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:link_command)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$finalize_var') 
                                            ($ VSub_Name '$compile_command') ($ VSub_Name '$finalize_rpath')
                                          )
                                        }
                                      spids: [45566]
                                    )
                                  ]
                                  spids: [45566]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(test)} {(DQ ($ VSub_Name '$fast_install'))} 
                                              {(Lit_Other '=')} {(yes)}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:relink_command)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {($ VSub_Name '$ECHO')} 
                                                                {
                                                                  (DQ (X) ($ VSub_Name '$compile_var') 
                                                                    ($ VSub_Name '$compile_command') ($ VSub_Name '$compile_rpath')
                                                                  )
                                                                }
                                                              )
                                                              (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                                {
                                                                  (SQ 
                                                                    <
's%@OUTPUT@%\\$progdir/\\$file%g'
                                                                    >
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: F
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [45591 45610]
                                                  )
                                                }
                                              spids: [45590]
                                            )
                                          ]
                                          spids: [45590]
                                        )
                                      ]
                                      spids: [16777215 45587]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [45620]
                                        )
                                      ]
                                      spids: [45620]
                                    )
                                  ]
                                  spids: [45613 45623]
                                )
                              ]
                              spids: [16777215 45563]
                            )
                          ]
                          else_action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$compile_var') 
                                        ($ VSub_Name '$compile_command') ($ VSub_Name '$compile_rpath')
                                      )
                                    }
                                  spids: [45629]
                                )
                              ]
                              spids: [45629]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$finalize_var') 
                                        ($ VSub_Name '$finalize_command') ($ VSub_Name '$finalize_rpath')
                                      )
                                    }
                                  spids: [45637]
                                )
                              ]
                              spids: [45637]
                            )
                          ]
                          spids: [45626 45645]
                        )
                      ]
                      spids: [45546 45648]
                    )
                    (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 (X) ($ VSub_Name '$link_command'))}
                                          )
                                          (C {($ VSub_Name '$Xsed')} {(-e)} 
                                            {(SQ <'s%@OUTPUT@%'>) 
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                ($ VSub_Name '$outputname')
                                              ) (SQ <'%g'>)
                                            }
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [45657 45682]
                              )
                            }
                          spids: [45656]
                        )
                      ]
                      spids: [45656]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {($ VSub_Name '$opt_dry_run')})
                        (C {($ VSub_Name '$RM')} {($ VSub_Name '$output')} 
                          {($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$outputname')} {($ VSub_Name '$output_objdir') (/lt-) ($ VSub_Name '$outputname')}
                        )
                      ]
                    )
                    (C {(func_show_eval)} {(DQ ($ VSub_Name '$link_command'))} {(SQ <'exit $?'>)})
                    (C {(func_verbose)} {(DQ ('creating ') ($ VSub_Name '$output'))})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$relink_command'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (ForEach
                              iter_name: var
                              iter_words: [{($ VSub_Name '$variables_saved_for_relink')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(eval)} {(test)} {(-z)} 
                                                  {
                                                    (EscapedLiteralPart
                                                      token: <Lit_EscapedChar '\\"'>
                                                    ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (Lit_LBrace '{') ($ VSub_Name '$var') (Lit_Other '+') 
                                                    (set) (Lit_RBrace '}') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                  }
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:relink_command)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ('{ test -z ') 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar '\\"'>
                                                        ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{') ($ VSub_Name '$var') ('+set}') 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar '\\"'>
                                                        ) (' || ') ($ VSub_Name '$lt_unset') (' ') ($ VSub_Name '$var') (' || { ') ($ VSub_Name '$var') 
                                                        ('=; export ') ($ VSub_Name '$var') ('; }; }; ') ($ VSub_Name '$relink_command')
                                                      )
                                                    }
                                                  spids: [45788]
                                                )
                                              ]
                                              spids: [45788]
                                            )
                                          ]
                                          spids: [16777215 45785]
                                        )
                                        (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: [45831]
                                                )
                                              ]
                                              spids: [45831]
                                            )
                                          ]
                                          spids: [45810 45828]
                                        )
                                      ]
                                      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: [45851]
                                            )
                                          ]
                                          spids: [45851]
                                        )
                                      ]
                                      spids: [45841 45863]
                                    )
                                  ]
                                  spids: [45764 45866]
                                )
                              spids: [45760 45762]
                            )
                            (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: [45872 45874]
                                        ) ('; ') ($ VSub_Name '$relink_command') (')')
                                      )
                                    }
                                  spids: [45869]
                                )
                              ]
                              spids: [45869]
                            )
                            (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 (X) ($ VSub_Name '$relink_command'))}
                                                  )
                                                  (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                    {(DQ ($ VSub_Name '$sed_quote_subst'))}
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [45882 45899]
                                      )
                                    }
                                  spids: [45881]
                                )
                              ]
                              spids: [45881]
                            )
                          ]
                          spids: [16777215 45748]
                        )
                      ]
                      spids: [16777215 45902]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ (X) ($ VSub_Name '$ECHO'))} {(Lit_Other '=')} 
                                  {
                                    (DQ (X) ($ VSub_Name '$SHELL') (' ') ($ VSub_Name '$progpath') 
                                      (' --fallback-echo')
                                    )
                                  }
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (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 ':') 
                                      (Lit_Other '[') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (/) (Lit_Other ']') (Lit_Other '*')
                                    }
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:qecho)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$SHELL') (' ') 
                                                ($ VSub_Name '$progpath') (' --fallback-echo')
                                              )
                                            }
                                          spids: [45959]
                                        )
                                      ]
                                      spids: [45959]
                                    )
                                  ]
                                  spids: [45940 45957 45966 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:qecho)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$SHELL') (' ') 
                                                (CommandSubPart
                                                  command_list: (CommandList children:[(C {(pwd)})])
                                                  left_token: <Left_Backtick '`'>
                                                  spids: [45976 45978]
                                                ) (/) ($ VSub_Name '$progpath') (' --fallback-echo')
                                              )
                                            }
                                          spids: [45972]
                                        )
                                      ]
                                      spids: [45972]
                                    )
                                  ]
                                  spids: [45969 45970 45983 16777215]
                                )
                              ]
                              spids: [45933 45937 45986]
                            )
                            (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 (X) ($ VSub_Name '$qecho'))}
                                                  )
                                                  (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                    {(DQ ($ VSub_Name '$sed_quote_subst'))}
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [45990 46007]
                                      )
                                    }
                                  spids: [45989]
                                )
                              ]
                              spids: [45989]
                            )
                          ]
                          spids: [16777215 45930]
                        )
                      ]
                      else_action: [
                        (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 (X) ($ VSub_Name '$ECHO'))}
                                              )
                                              (C {($ VSub_Name '$Xsed')} {(-e)} 
                                                {(DQ ($ VSub_Name '$sed_quote_subst'))}
                                              )
                                            ]
                                            negated: F
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [46014 46031]
                                  )
                                }
                              spids: [46013]
                            )
                          ]
                          spids: [46013]
                        )
                      ]
                      spids: [46010 46034]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {($ VSub_Name '$opt_dry_run')})
                        (BraceGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name '$output')}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (.exe)}]
                                  action: [
                                    (C {(func_stripname)} {(SQ )} {(SQ <.exe>)} 
                                      {(DQ ($ VSub_Name '$output'))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:output)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_stripname_result')}
                                          spids: [46082]
                                        )
                                      ]
                                      spids: [46082]
                                    )
                                  ]
                                  spids: [46064 46066 46085 16777215]
                                )
                              ]
                              spids: [46057 46061 46088]
                            )
                            (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: [46108]
                                        )
                                      ]
                                      spids: [46108]
                                    )
                                    (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: [46126]
                                        )
                                      ]
                                      spids: [46126]
                                    )
                                  ]
                                  spids: [46102 46105 46129 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:exeext)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [46135]
                                        )
                                      ]
                                      spids: [46135]
                                    )
                                  ]
                                  spids: [46132 46133 46137 16777215]
                                )
                              ]
                              spids: [46095 46099 46140]
                            )
                            (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: [46177]
                                        )
                                      ]
                                      spids: [46177]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:output_path)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_dirname_result')}
                                          spids: [46181]
                                        )
                                      ]
                                      spids: [46181]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:cwrappersource)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$output_path') (/) 
                                                ($ VSub_Name '$objdir') (/lt-) ($ VSub_Name '$output_name') (.c)
                                              )
                                            }
                                          spids: [46185]
                                        )
                                      ]
                                      spids: [46185]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:cwrapper)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$output_path') (/) 
                                                ($ VSub_Name '$output_name') (.exe)
                                              )
                                            }
                                          spids: [46196]
                                        )
                                      ]
                                      spids: [46196]
                                    )
                                    (C {($ VSub_Name '$RM')} {($ VSub_Name '$cwrappersource')} 
                                      {($ VSub_Name '$cwrapper')}
                                    )
                                    (C {(trap)} 
                                      {
                                        (DQ ($ VSub_Name '$RM') (' ') ($ VSub_Name '$cwrappersource') 
                                          (' ') ($ VSub_Name '$cwrapper') ('; exit ') ($ VSub_Name '$EXIT_FAILURE')
                                        )
                                      } {(1)} {(2)} {(15)}
                                    )
                                    (SimpleCommand
                                      words: [{(func_emit_cwrapperexe_src)}]
                                      redirects: [
                                        (Redir
                                          op: <Redir_Great '>'>
                                          fd: 16777215
                                          arg_word: {($ VSub_Name '$cwrappersource')}
                                        )
                                      ]
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (BraceGroup
                                          children: [
                                            (C {($ VSub_Name '$LTCC')} {($ VSub_Name '$LTCFLAGS')} 
                                              {(-o)} {($ VSub_Name '$cwrapper')} {($ VSub_Name '$cwrappersource')}
                                            )
                                            (C {($ VSub_Name '$STRIP')} {($ VSub_Name '$cwrapper')})
                                          ]
                                          spids: [46260]
                                        )
                                      ]
                                    )
                                    (C {(func_ltwrapper_scriptname)} {($ VSub_Name '$cwrapper')})
                                    (C {($ VSub_Name '$RM')} 
                                      {($ VSub_Name '$func_ltwrapper_scriptname_result')}
                                    )
                                    (C {(trap)} 
                                      {
                                        (DQ ($ VSub_Name '$RM') (' ') 
                                          ($ VSub_Name '$func_ltwrapper_scriptname_result') ('; exit ') ($ VSub_Name '$EXIT_FAILURE')
                                        )
                                      } {(1)} {(2)} {(15)}
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (BraceGroup
                                          children: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ (x) ($ VSub_Name '$build'))} 
                                                          {(Lit_Other '=')} {(DQ (x) ($ VSub_Name '$host'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (SimpleCommand
                                                      words: [
                                                        {($ VSub_Name '$cwrapper')}
                                                        {(--lt-dump-script)}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op: <Redir_Great '>'>
                                                          fd: 16777215
                                                          arg_word: 
                                                            {
                                                              ($ VSub_Name 
'$func_ltwrapper_scriptname_result'
                                                              )
                                                            }
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [16777215 46343]
                                                )
                                              ]
                                              else_action: [
                                                (SimpleCommand
                                                  words: [{(func_emit_wrapper)} {(no)}]
                                                  redirects: [
                                                    (Redir
                                                      op: <Redir_Great '>'>
                                                      fd: 16777215
                                                      arg_word: 
                                                        {
                                                          ($ VSub_Name 
'$func_ltwrapper_scriptname_result'
                                                          )
                                                        }
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [46355 46367]
                                            )
                                          ]
                                          spids: [46318]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [46150 46160 46373 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {($ VSub_Name '$RM')} {($ VSub_Name '$output')})
                                    (C {(trap)} 
                                      {
                                        (DQ ($ VSub_Name '$RM') (' ') ($ VSub_Name '$output') 
                                          ('; exit ') ($ VSub_Name '$EXIT_FAILURE')
                                        )
                                      } {(1)} {(2)} {(15)}
                                    )
                                    (SimpleCommand
                                      words: [{(func_emit_wrapper)} {(no)}]
                                      redirects: [
                                        (Redir
                                          op: <Redir_Great '>'>
                                          fd: 16777215
                                          arg_word: {($ VSub_Name '$output')}
                                        )
                                      ]
                                    )
                                    (C {(chmod)} {(Lit_Other '+') (x)} {($ VSub_Name '$output')})
                                  ]
                                  spids: [46376 46378 46421 16777215]
                                )
                              ]
                              spids: [46143 46147 46424]
                            )
                          ]
                          spids: [46046]
                        )
                      ]
                    )
                    (ControlFlow
                      token: <ControlFlow_Exit exit>
                      arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                    )
                  ]
                  spids: [43484 43485 46435 16777215]
                )
              ]
              spids: [33158 33162 46438]
            )
            (ForEach
              iter_name: oldlib
              iter_words: [{($ VSub_Name '$oldlibs')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} {(Lit_Other '=')} 
                                  {(convenience)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$libobjs_save') (' ') 
                                        ($ VSub_Name '$symfileobj')
                                      )
                                    }
                                  spids: [46475]
                                )
                              ]
                              spids: [46475]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:addlibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$convenience'))}
                                  spids: [46483]
                                )
                              ]
                              spids: [46483]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [46489]
                                )
                              ]
                              spids: [46489]
                            )
                          ]
                          spids: [16777215 46472]
                        )
                      ]
                      else_action: [
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} 
                                      {(Lit_Other '=')} {(module)}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:oldobjs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$libobjs_save'))}
                                      spids: [46512]
                                    )
                                  ]
                                  spids: [46512]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:build_libtool_libs)
                                      op: Equal
                                      rhs: {(no)}
                                      spids: [46518]
                                    )
                                  ]
                                  spids: [46518]
                                )
                              ]
                              spids: [16777215 46509]
                            )
                          ]
                          else_action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$old_deplibs') (' ') 
                                        ($ VSub_Name '$non_pic_objects')
                                      )
                                    }
                                  spids: [46525]
                                )
                              ]
                              spids: [46525]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DAmp]
                                          children: [
                                            (C {(test)} {(DQ ($ VSub_Name '$preload'))} 
                                              {(Lit_Other '=')} {(yes)}
                                            )
                                            (C {(test)} {(-f)} {(DQ ($ VSub_Name '$symfileobj'))})
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:oldobjs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$oldobjs') (' ') 
                                                ($ VSub_Name '$symfileobj')
                                              )
                                            }
                                          spids: [46559]
                                        )
                                      ]
                                      spids: [46559]
                                    )
                                  ]
                                  spids: [16777215 46556]
                                )
                              ]
                              spids: [16777215 46567]
                            )
                          ]
                          spids: [46522 46570]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:addlibs)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$old_convenience'))}
                              spids: [46573]
                            )
                          ]
                          spids: [46573]
                        )
                      ]
                      spids: [46493 46579]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$addlibs'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:gentop)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$output_objdir') (/) (${ VSub_Name outputname) 
                                        (x)
                                      )
                                    }
                                  spids: [46597]
                                )
                              ]
                              spids: [46597]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:generated)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$generated') (' ') ($ VSub_Name '$gentop'))}
                                  spids: [46608]
                                )
                              ]
                              spids: [46608]
                            )
                            (C {(func_extract_archives)} {($ VSub_Name '$gentop')} 
                              {($ VSub_Name '$addlibs')}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$oldobjs') (' ') 
                                        ($ VSub_Name '$func_extract_archives_result')
                                      )
                                    }
                                  spids: [46624]
                                )
                              ]
                              spids: [46624]
                            )
                          ]
                          spids: [16777215 46594]
                        )
                      ]
                      spids: [16777215 46632]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$old_archive_from_new_cmds'))})
                                    (C {(test)} {(DQ ($ VSub_Name '$build_libtool_libs'))} 
                                      {(Lit_Other '=')} {(yes)}
                                    )
                                  ]
                                )
                              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: [46666]
                                )
                              ]
                              spids: [46666]
                            )
                          ]
                          spids: [16777215 46663]
                        )
                      ]
                      else_action: [
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dlprefiles'))})
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:gentop)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$output_objdir') (/) 
                                            (${ VSub_Name outputname) (x)
                                          )
                                        }
                                      spids: [46692]
                                    )
                                  ]
                                  spids: [46692]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:generated)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$generated') (' ') ($ VSub_Name '$gentop'))
                                        }
                                      spids: [46703]
                                    )
                                  ]
                                  spids: [46703]
                                )
                                (C {(func_extract_archives)} {($ VSub_Name '$gentop')} 
                                  {($ VSub_Name '$dlprefiles')}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:oldobjs)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$oldobjs') (' ') 
                                            ($ VSub_Name '$func_extract_archives_result')
                                          )
                                        }
                                      spids: [46719]
                                    )
                                  ]
                                  spids: [46719]
                                )
                              ]
                              spids: [16777215 46689]
                            )
                          ]
                          spids: [16777215 46727]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (Subshell
                                      child: 
                                        (Pipeline
                                          children: [
                                            (ForEach
                                              iter_name: obj
                                              iter_words: [{($ VSub_Name '$oldobjs')}]
                                              do_arg_iter: F
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (C {(func_basename)} {(DQ ($ VSub_Name '$obj'))})
                                                    (C {($ VSub_Name '$ECHO')} 
                                                      {(DQ ($ VSub_Name '$func_basename_result'))}
                                                    )
                                                  ]
                                                  spids: [46767 46784]
                                                )
                                              spids: [46763 16777215]
                                            )
                                            (C {(sort)})
                                            (SimpleCommand
                                              words: [{(sort)} {(-uc)}]
                                              redirects: [
                                                (Redir
                                                  op: <Redir_Great '>'>
                                                  fd: 16777215
                                                  arg_word: {(/dev/null)}
                                                )
                                                (Redir
                                                  op: <Redir_GreatAnd '2>&'>
                                                  fd: 2
                                                  arg_word: {(1)}
                                                )
                                              ]
                                            )
                                          ]
                                          negated: F
                                        )
                                      spids: [46757 46801]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [(C {(Lit_Other ':')})]
                              spids: [16777215 46804]
                            )
                          ]
                          else_action: [
                            (C {($ VSub_Name '$ECHO')} 
                              {(DQ ('copying selected object files to avoid basename conflicts...'))}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:gentop)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$output_objdir') (/) (${ VSub_Name outputname) 
                                        (x)
                                      )
                                    }
                                  spids: [46820]
                                )
                              ]
                              spids: [46820]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:generated)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$generated') (' ') ($ VSub_Name '$gentop'))}
                                  spids: [46831]
                                )
                              ]
                              spids: [46831]
                            )
                            (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: [46846]
                                )
                              ]
                              spids: [46846]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [46850]
                                )
                              ]
                              spids: [46850]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:counter)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [46853]
                                )
                              ]
                              spids: [46853]
                            )
                            (ForEach
                              iter_name: obj
                              iter_words: [{($ VSub_Name '$save_oldobjs')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(func_basename)} {(DQ ($ VSub_Name '$obj'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:objbase)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                                          spids: [46876]
                                        )
                                      ]
                                      spids: [46876]
                                    )
                                    (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: [46898]
                                                )
                                              ]
                                              spids: [46898]
                                            )
                                          ]
                                          spids: [46893 46896 46901 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (Lit_Other '[') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\ '>
                                              ) (/) (Lit_Other ']') (DQ ($ VSub_Name '$objbase') (' ')) (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (WhileUntil
                                              keyword: <KW_While while>
                                              cond: [
                                                (Sentence
                                                  child: (C {(Lit_Other ':')})
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:newobj)
                                                          op: Equal
                                                          rhs: 
                                                            {(lt) ($ VSub_Name '$counter') (-) 
                                                              ($ VSub_Name '$objbase')
                                                            }
                                                          spids: [46933]
                                                        )
                                                      ]
                                                      spids: [46933]
                                                    )
                                                    (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: [46949]
                                                        )
                                                      ]
                                                      spids: [46949]
                                                    )
                                                    (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: [46964 46974 46976 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(KW_Bang '!')} 
                                                                          {(-f)} {(DQ ($ VSub_Name '$gentop') (/) ($ VSub_Name '$newobj'))}
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Sentence
                                                                      child: 
                                                                        (ControlFlow
                                                                          token: 
                                                                            <ControlFlow_Break 
break
                                                                            >
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  spids: [16777215 46997]
                                                                )
                                                              ]
                                                              spids: [16777215 47002]
                                                            )
                                                          ]
                                                          spids: [46979 46980 47004 16777215]
                                                        )
                                                      ]
                                                      spids: [46953 46961 47007]
                                                    )
                                                  ]
                                                  spids: [46922 47010]
                                                )
                                            )
                                            (C {(func_show_eval)} 
                                              {
                                                (DQ ('ln ') ($ VSub_Name '$obj') (' ') 
                                                  ($ VSub_Name '$gentop') (/) ($ VSub_Name '$newobj') (' || cp ') ($ VSub_Name '$obj') (' ') ($ VSub_Name '$gentop') (/) 
                                                  ($ VSub_Name '$newobj')
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:oldobjs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$oldobjs') (' ') 
                                                        ($ VSub_Name '$gentop') (/) ($ VSub_Name '$newobj')
                                                      )
                                                    }
                                                  spids: [47031]
                                                )
                                              ]
                                              spids: [47031]
                                            )
                                          ]
                                          spids: [46904 46914 47041 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:oldobjs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$oldobjs') (' ') 
                                                        ($ VSub_Name '$obj')
                                                      )
                                                    }
                                                  spids: [47047]
                                                )
                                              ]
                                              spids: [47047]
                                            )
                                          ]
                                          spids: [47044 47045 47054 16777215]
                                        )
                                      ]
                                      spids: [46882 46890 47057]
                                    )
                                  ]
                                  spids: [46866 47060]
                                )
                              spids: [46862 16777215]
                            )
                          ]
                          spids: [46810 47063]
                        )
                        (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: [47083]
                            )
                          ]
                          spids: [47083]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(test)} {(DQ ($ VSub_Name '$len'))} {(-lt)} 
                                          {(DQ ($ VSub_Name '$max_cmd_len'))}
                                        )
                                        (C {(test)} {(DQ ($ VSub_Name '$max_cmd_len'))} {(-le)} {(-1)})
                                      ]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:cmds)
                                      op: Equal
                                      rhs: {($ VSub_Name '$old_archive_cmds')}
                                      spids: [47117]
                                    )
                                  ]
                                  spids: [47117]
                                )
                              ]
                              spids: [16777215 47114]
                            )
                          ]
                          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: [47135]
                                )
                              ]
                              spids: [47135]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RANLIB)
                                  op: Equal
                                  rhs: {(Lit_Other ':')}
                                  spids: [47139]
                                )
                              ]
                              spids: [47139]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:objlist)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [47143]
                                )
                              ]
                              spids: [47143]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:concat_cmds)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [47146]
                                )
                              ]
                              spids: [47146]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:save_oldobjs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$oldobjs')}
                                  spids: [47149]
                                )
                              ]
                              spids: [47149]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [47153]
                                )
                              ]
                              spids: [47153]
                            )
                            (ForEach
                              iter_name: obj
                              iter_words: [{($ VSub_Name '$save_oldobjs')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:last_oldobj)
                                          op: Equal
                                          rhs: {($ VSub_Name '$obj')}
                                          spids: [47172]
                                        )
                                      ]
                                      spids: [47172]
                                    )
                                  ]
                                  spids: [47169 47176]
                                )
                              spids: [47165 16777215]
                            )
                            (C {(eval)} 
                              {(Lit_VarLike 'test_cmds=') 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar '\\"'>
                                ) ($ VSub_Name '$old_archive_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                              }
                            )
                            (C {(func_len)} {(DQ (' ') ($ VSub_Name '$test_cmds'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:len0)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_len_result')}
                                  spids: [47195]
                                )
                              ]
                              spids: [47195]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:len)
                                  op: Equal
                                  rhs: {($ VSub_Name '$len0')}
                                  spids: [47199]
                                )
                              ]
                              spids: [47199]
                            )
                            (ForEach
                              iter_name: obj
                              iter_words: [{($ VSub_Name '$save_oldobjs')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(func_len)} {(DQ (' ') ($ VSub_Name '$obj'))})
                                    (C {(func_arith)} {($ VSub_Name '$len')} {(Lit_Other '+')} 
                                      {($ VSub_Name '$func_len_result')}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:len)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_arith_result')}
                                          spids: [47232]
                                        )
                                      ]
                                      spids: [47232]
                                    )
                                    (C {(func_append)} {(objlist)} {(DQ (' ') ($ VSub_Name '$obj'))})
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$len'))} {(-lt)} 
                                                  {(DQ ($ VSub_Name '$max_cmd_len'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [(C {(Lit_Other ':')})]
                                          spids: [16777215 47261]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:oldobjs)
                                              op: Equal
                                              rhs: {($ VSub_Name '$objlist')}
                                              spids: [47274]
                                            )
                                          ]
                                          spids: [47274]
                                        )
                                        (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: [47297]
                                                    )
                                                  ]
                                                  spids: [47297]
                                                )
                                              ]
                                              spids: [16777215 47294]
                                            )
                                          ]
                                          spids: [16777215 47301]
                                        )
                                        (AndOr
                                          ops: [Op_DPipe]
                                          children: [
                                            (C {(test)} {(-z)} {(DQ ($ VSub_Name '$concat_cmds'))})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:concat_cmds)
                                                  op: Equal
                                                  rhs: 
                                                    {($ VSub_Name '$concat_cmds') 
                                                      (Lit_TildeLike '~')
                                                    }
                                                  spids: [47314]
                                                )
                                              ]
                                              spids: [47314]
                                            )
                                          ]
                                        )
                                        (C {(eval)} 
                                          {(Lit_VarLike 'concat_cmds=') 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar '\\"'>
                                            ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (Lit_LBrace '{') (concat_cmds) (Lit_RBrace '}') 
                                            ($ VSub_Name '$old_archive_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                          }
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:objlist)
                                              op: Equal
                                              rhs: {(EmptyPart)}
                                              spids: [47331]
                                            )
                                          ]
                                          spids: [47331]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:len)
                                              op: Equal
                                              rhs: {($ VSub_Name '$len0')}
                                              spids: [47334]
                                            )
                                          ]
                                          spids: [47334]
                                        )
                                      ]
                                      spids: [47267 47338]
                                    )
                                  ]
                                  spids: [47212 47341]
                                )
                              spids: [47208 16777215]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RANLIB)
                                  op: Equal
                                  rhs: {($ VSub_Name '$save_RANLIB')}
                                  spids: [47344]
                                )
                              ]
                              spids: [47344]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$objlist')}
                                  spids: [47348]
                                )
                              ]
                              spids: [47348]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ (X) ($ VSub_Name '$oldobjs'))} 
                                          {(Lit_Other '=')} {(DQ (X))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {(Lit_VarLike 'cmds=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (concat_cmds) 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        )
                                      }
                                    )
                                  ]
                                  spids: [16777215 47369]
                                )
                              ]
                              else_action: [
                                (C {(eval)} 
                                  {(Lit_VarLike 'cmds=') 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar '\\"'>
                                    ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (concat_cmds) (Lit_TildeLike '~') 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar '\\$'>
                                    ) (old_archive_cmds) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                  }
                                )
                              ]
                              spids: [47381 47396]
                            )
                          ]
                          spids: [47121 47399]
                        )
                      ]
                      spids: [46670 47402]
                    )
                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$cmds'))} {(SQ <'exit $?'>)})
                  ]
                  spids: [46455 47416]
                )
              spids: [46451 46453]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$generated'))})
                (C {(func_show_eval)} {(DQ (${ VSub_Name RM) (r) ($ VSub_Name '$generated'))})
              ]
            )
            (Case
              to_match: {($ VSub_Name '$output')}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other '*') (.la)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_library)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [47460]
                        )
                      ]
                      spids: [47460]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(DQ ($ VSub_Name '$build_old_libs'))} {(Lit_Other '=')} {(yes)})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:old_library)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$libname') (.) ($ VSub_Name '$libext'))}
                              spids: [47475]
                            )
                          ]
                          spids: [47475]
                        )
                      ]
                    )
                    (C {(func_verbose)} {(DQ ('creating ') ($ VSub_Name '$output'))})
                    (ForEach
                      iter_name: var
                      iter_words: [{($ VSub_Name '$variables_saved_for_relink')}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(eval)} {(test)} {(-z)} 
                                          {(EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar '\\$'>
                                            ) (Lit_LBrace '{') ($ VSub_Name '$var') (Lit_Other '+') (set) (Lit_RBrace '}') 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar '\\"'>
                                            )
                                          }
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ('{ test -z ') 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar '\\"'>
                                                ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{') ($ VSub_Name '$var') ('+set}') 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar '\\"'>
                                                ) (' || ') ($ VSub_Name '$lt_unset') (' ') ($ VSub_Name '$var') (' || { ') ($ VSub_Name '$var') 
                                                ('=; export ') ($ VSub_Name '$var') ('; }; }; ') ($ VSub_Name '$relink_command')
                                              )
                                            }
                                          spids: [47529]
                                        )
                                      ]
                                      spids: [47529]
                                    )
                                  ]
                                  spids: [16777215 47526]
                                )
                                (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: [47572]
                                        )
                                      ]
                                      spids: [47572]
                                    )
                                  ]
                                  spids: [47551 47569]
                                )
                              ]
                              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: [47592]
                                    )
                                  ]
                                  spids: [47592]
                                )
                              ]
                              spids: [47582 47604]
                            )
                          ]
                          spids: [47505 47607]
                        )
                      spids: [47501 47503]
                    )
                    (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: [47617 47619]
                                ) ('; ') ($ VSub_Name '$SHELL') (' ') ($ VSub_Name '$progpath') (' ') ($ VSub_Name '$preserve_args') 
                                (' --mode=relink ') ($ VSub_Name '$libtool_args') (' @inst_prefix_dir@)')
                              )
                            }
                          spids: [47614]
                        )
                      ]
                      spids: [47614]
                    )
                    (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 (X) ($ VSub_Name '$relink_command'))}
                                          )
                                          (C {($ VSub_Name '$Xsed')} {(-e)} 
                                            {(DQ ($ VSub_Name '$sed_quote_subst'))}
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [47633 47650]
                              )
                            }
                          spids: [47632]
                        )
                      ]
                      spids: [47632]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$hardcode_automatic'))} {(Lit_Other '=')} 
                                  {(yes)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [47670]
                                )
                              ]
                              spids: [47670]
                            )
                          ]
                          spids: [16777215 47667]
                        )
                      ]
                      spids: [16777215 47673]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {($ VSub_Name '$opt_dry_run')})
                        (BraceGroup
                          children: [
                            (ForEach
                              iter_name: installed
                              iter_words: [{(no)} {(yes)}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$installed'))} 
                                                  {(Lit_Other '=')} {(yes)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name '$install_libdir'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [16777215 47729]
                                                )
                                              ]
                                              spids: [16777215 47735]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:output)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$outputname')
                                                      ) (i)
                                                    }
                                                  spids: [47738]
                                                )
                                              ]
                                              spids: [47738]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdependency_libs)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [47751]
                                                )
                                              ]
                                              spids: [47751]
                                            )
                                            (ForEach
                                              iter_name: deplib
                                              iter_words: [{($ VSub_Name '$dependency_libs')}]
                                              do_arg_iter: F
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Case
                                                      to_match: {($ VSub_Name '$deplib')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*') (.la)}]
                                                          action: [
                                                            (C {(func_basename)} 
                                                              {(DQ ($ VSub_Name '$deplib'))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:name)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$func_basename_result'
                                                                        )
                                                                      )
                                                                    }
                                                                  spids: [47785]
                                                                )
                                                              ]
                                                              spids: [47785]
                                                            )
                                                            (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: [47794 47808]
                                                                )
                                                              }
                                                            )
                                                            (AndOr
                                                              ops: [Op_DAmp]
                                                              children: [
                                                                (C {(test)} {(-z)} 
                                                                  {(DQ ($ VSub_Name '$libdir'))}
                                                                )
                                                                (C {(func_fatal_error)} 
                                                                  {
                                                                    (DQ 
                                                                      (EscapedLiteralPart
                                                                        token: 
                                                                          <Lit_EscapedChar '\\`'>
                                                                      ) ($ VSub_Name '$deplib') ("' is not a valid libtool archive")
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (LhsName
                                                                      name: newdependency_libs
                                                                    )
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$newdependency_libs'
                                                                        ) (' ') ($ VSub_Name '$libdir') (/) ($ VSub_Name '$name')
                                                                      )
                                                                    }
                                                                  spids: [47832]
                                                                )
                                                              ]
                                                              spids: [47832]
                                                            )
                                                          ]
                                                          spids: [47773 47775 47842 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (LhsName
                                                                      name: newdependency_libs
                                                                    )
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$newdependency_libs'
                                                                        ) (' ') ($ VSub_Name '$deplib')
                                                                      )
                                                                    }
                                                                  spids: [47848]
                                                                )
                                                              ]
                                                              spids: [47848]
                                                            )
                                                          ]
                                                          spids: [47845 47846 47855 16777215]
                                                        )
                                                      ]
                                                      spids: [47766 47770 47858]
                                                    )
                                                  ]
                                                  spids: [47763 47861]
                                                )
                                              spids: [47759 47761]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dependency_libs)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$newdependency_libs'))}
                                                  spids: [47864]
                                                )
                                              ]
                                              spids: [47864]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdlfiles)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [47870]
                                                )
                                              ]
                                              spids: [47870]
                                            )
                                            (ForEach
                                              iter_name: lib
                                              iter_words: [{($ VSub_Name '$dlfiles')}]
                                              do_arg_iter: F
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Case
                                                      to_match: {($ VSub_Name '$lib')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*') (.la)}]
                                                          action: [
                                                            (C {(func_basename)} 
                                                              {(DQ ($ VSub_Name '$lib'))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:name)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$func_basename_result'
                                                                        )
                                                                      )
                                                                    }
                                                                  spids: [47905]
                                                                )
                                                              ]
                                                              spids: [47905]
                                                            )
                                                            (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: [47914 47928]
                                                                )
                                                              }
                                                            )
                                                            (AndOr
                                                              ops: [Op_DAmp]
                                                              children: [
                                                                (C {(test)} {(-z)} 
                                                                  {(DQ ($ VSub_Name '$libdir'))}
                                                                )
                                                                (C {(func_fatal_error)} 
                                                                  {
                                                                    (DQ 
                                                                      (EscapedLiteralPart
                                                                        token: 
                                                                          <Lit_EscapedChar '\\`'>
                                                                      ) ($ VSub_Name '$lib') ("' is not a valid libtool archive")
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:newdlfiles)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$newdlfiles') 
                                                                        (' ') ($ VSub_Name '$libdir') (/) ($ VSub_Name '$name')
                                                                      )
                                                                    }
                                                                  spids: [47952]
                                                                )
                                                              ]
                                                              spids: [47952]
                                                            )
                                                          ]
                                                          spids: [47893 47895 47962 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:newdlfiles)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$newdlfiles') 
                                                                        (' ') ($ VSub_Name '$lib')
                                                                      )
                                                                    }
                                                                  spids: [47968]
                                                                )
                                                              ]
                                                              spids: [47968]
                                                            )
                                                          ]
                                                          spids: [47965 47966 47975 16777215]
                                                        )
                                                      ]
                                                      spids: [47886 47890 47978]
                                                    )
                                                  ]
                                                  spids: [47883 47981]
                                                )
                                              spids: [47879 47881]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlfiles)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$newdlfiles'))}
                                                  spids: [47984]
                                                )
                                              ]
                                              spids: [47984]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdlprefiles)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [47990]
                                                )
                                              ]
                                              spids: [47990]
                                            )
                                            (ForEach
                                              iter_name: lib
                                              iter_words: [{($ VSub_Name '$dlprefiles')}]
                                              do_arg_iter: F
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Case
                                                      to_match: {($ VSub_Name '$lib')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*') (.la)}]
                                                          action: [
                                                            (C {(func_basename)} 
                                                              {(DQ ($ VSub_Name '$lib'))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:name)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$func_basename_result'
                                                                        )
                                                                      )
                                                                    }
                                                                  spids: [48040]
                                                                )
                                                              ]
                                                              spids: [48040]
                                                            )
                                                            (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: [48049 48063]
                                                                )
                                                              }
                                                            )
                                                            (AndOr
                                                              ops: [Op_DAmp]
                                                              children: [
                                                                (C {(test)} {(-z)} 
                                                                  {(DQ ($ VSub_Name '$libdir'))}
                                                                )
                                                                (C {(func_fatal_error)} 
                                                                  {
                                                                    (DQ 
                                                                      (EscapedLiteralPart
                                                                        token: 
                                                                          <Lit_EscapedChar '\\`'>
                                                                      ) ($ VSub_Name '$lib') ("' is not a valid libtool archive")
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:newdlprefiles)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name '$newdlprefiles') (' ') ($ VSub_Name '$libdir') (/) ($ VSub_Name '$name')
                                                                      )
                                                                    }
                                                                  spids: [48087]
                                                                )
                                                              ]
                                                              spids: [48087]
                                                            )
                                                          ]
                                                          spids: [48012 48014 48097 16777215]
                                                        )
                                                      ]
                                                      spids: [48005 48009 48100]
                                                    )
                                                  ]
                                                  spids: [48002 48103]
                                                )
                                              spids: [47998 48000]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlprefiles)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$newdlprefiles'))}
                                                  spids: [48106]
                                                )
                                              ]
                                              spids: [48106]
                                            )
                                          ]
                                          spids: [16777215 47715]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdlfiles)
                                              op: Equal
                                              rhs: {(EmptyPart)}
                                              spids: [48115]
                                            )
                                          ]
                                          spids: [48115]
                                        )
                                        (ForEach
                                          iter_name: lib
                                          iter_words: [{($ VSub_Name '$dlfiles')}]
                                          do_arg_iter: F
                                          body: 
                                            (DoGroup
                                              children: [
                                                (Case
                                                  to_match: {($ VSub_Name '$lib')}
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [
                                                        {(Lit_Other '[') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\\\'>
                                                          ) (/) (Lit_Other ']') (Lit_Other '*')
                                                        }
                                                        {(Lit_Other '[') (A-Za-z) (Lit_Other ']') 
                                                          (Lit_Other ':') (Lit_Other '[') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (/) (Lit_Other ']') (Lit_Other '*')
                                                        }
                                                      ]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:abs)
                                                              op: Equal
                                                              rhs: {(DQ ($ VSub_Name '$lib'))}
                                                              spids: [48156]
                                                            )
                                                          ]
                                                          spids: [48156]
                                                        )
                                                      ]
                                                      spids: [48137 48154 48161 16777215]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:abs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (CommandSubPart
                                                                    command_list: 
                                                                      (CommandList
                                                                        children: [(C {(pwd)})]
                                                                      )
                                                                    left_token: <Left_Backtick '`'>
                                                                    spids: [48168 48170]
                                                                  ) (DQ (/) ($ VSub_Name '$lib'))
                                                                }
                                                              spids: [48167]
                                                            )
                                                          ]
                                                          spids: [48167]
                                                        )
                                                      ]
                                                      spids: [48164 48165 48176 16777215]
                                                    )
                                                  ]
                                                  spids: [48130 48134 48179]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:newdlfiles)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$newdlfiles') (' ') 
                                                            ($ VSub_Name '$abs')
                                                          )
                                                        }
                                                      spids: [48182]
                                                    )
                                                  ]
                                                  spids: [48182]
                                                )
                                              ]
                                              spids: [48127 48190]
                                            )
                                          spids: [48123 48125]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dlfiles)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$newdlfiles'))}
                                              spids: [48193]
                                            )
                                          ]
                                          spids: [48193]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdlprefiles)
                                              op: Equal
                                              rhs: {(EmptyPart)}
                                              spids: [48199]
                                            )
                                          ]
                                          spids: [48199]
                                        )
                                        (ForEach
                                          iter_name: lib
                                          iter_words: [{($ VSub_Name '$dlprefiles')}]
                                          do_arg_iter: F
                                          body: 
                                            (DoGroup
                                              children: [
                                                (Case
                                                  to_match: {($ VSub_Name '$lib')}
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [
                                                        {(Lit_Other '[') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\\\'>
                                                          ) (/) (Lit_Other ']') (Lit_Other '*')
                                                        }
                                                        {(Lit_Other '[') (A-Za-z) (Lit_Other ']') 
                                                          (Lit_Other ':') (Lit_Other '[') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (/) (Lit_Other ']') (Lit_Other '*')
                                                        }
                                                      ]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:abs)
                                                              op: Equal
                                                              rhs: {(DQ ($ VSub_Name '$lib'))}
                                                              spids: [48240]
                                                            )
                                                          ]
                                                          spids: [48240]
                                                        )
                                                      ]
                                                      spids: [48221 48238 48245 16777215]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:abs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (CommandSubPart
                                                                    command_list: 
                                                                      (CommandList
                                                                        children: [(C {(pwd)})]
                                                                      )
                                                                    left_token: <Left_Backtick '`'>
                                                                    spids: [48252 48254]
                                                                  ) (DQ (/) ($ VSub_Name '$lib'))
                                                                }
                                                              spids: [48251]
                                                            )
                                                          ]
                                                          spids: [48251]
                                                        )
                                                      ]
                                                      spids: [48248 48249 48260 16777215]
                                                    )
                                                  ]
                                                  spids: [48214 48218 48263]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:newdlprefiles)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$newdlprefiles') (' ') 
                                                            ($ VSub_Name '$abs')
                                                          )
                                                        }
                                                      spids: [48266]
                                                    )
                                                  ]
                                                  spids: [48266]
                                                )
                                              ]
                                              spids: [48211 48274]
                                            )
                                          spids: [48207 48209]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dlprefiles)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$newdlprefiles'))}
                                              spids: [48277]
                                            )
                                          ]
                                          spids: [48277]
                                        )
                                      ]
                                      spids: [48112 48283]
                                    )
                                    (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: [48295]
                                        )
                                      ]
                                      spids: [48295]
                                    )
                                    (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: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:tdlname)
                                                  op: Equal
                                                  rhs: {(../bin/) ($ VSub_Name '$dlname')}
                                                  spids: [48361]
                                                )
                                              ]
                                              spids: [48361]
                                            )
                                          ]
                                          spids: [48314 48359 48365 16777215]
                                        )
                                      ]
                                      spids: [48299 48311 48368]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {($ VSub_Name '$ECHO')}
                                        {
                                          (DQ ('# ') ($ VSub_Name '$outputname') 
                                            (' - a libtool library file\n') ('# Generated by ') ($ VSub_Name '$PROGRAM') (' (GNU ') ($ VSub_Name '$PACKAGE') 
                                            ($ VSub_Name '$TIMESTAMP') (') ') ($ VSub_Name '$VERSION') ('\n') ('#\n') ('# Please DO NOT delete this file!\n') 
                                            ('# It is necessary for linking the library.\n') ('\n') ('# The name that we can dlopen(3).\n') ("dlname='") ($ VSub_Name '$tdlname') ("'\n") ('\n') 
                                            ('# Names of this library.\n') ("library_names='") ($ VSub_Name '$library_names') ("'\n") ('\n') ('# The name of the static archive.\n') 
                                            ("old_library='") ($ VSub_Name '$old_library') ("'\n") ('\n') ('# Linker flags that can not go in dependency_libs.\n') 
                                            ("inherited_linker_flags='") ($ VSub_Name '$new_inherited_linker_flags') ("'\n") ('\n') ('# Libraries that this one depends upon.\n') 
                                            ("dependency_libs='") ($ VSub_Name '$dependency_libs') ("'\n") ('\n') 
                                            (
'# Names of additional weak libraries provided by this library\n'
                                            ) ("weak_library_names='") ($ VSub_Name '$weak_libs') ("'\n") ('\n') ('# Version information for ') 
                                            ($ VSub_Name '$libname') ('.\n') ('current=') ($ VSub_Name '$current') ('\n') ('age=') ($ VSub_Name '$age') ('\n') ('revision=') 
                                            ($ VSub_Name '$revision') ('\n') ('\n') ('# Is this an already installed library?\n') ('installed=') ($ VSub_Name '$installed') 
                                            ('\n') ('\n') ('# Should we warn about portability when linking against -modules?\n') ('shouldnotlink=') 
                                            ($ VSub_Name '$module') ('\n') ('\n') ('# Files to dlopen/dlpreopen\n') ("dlopen='") ($ VSub_Name '$dlfiles') ("'\n") 
                                            ("dlpreopen='") ($ VSub_Name '$dlprefiles') ("'\n") ('\n') ('# Directory that this library needs to be installed in:\n') 
                                            ("libdir='") ($ VSub_Name '$install_libdir') ("'")
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op: <Redir_Great '>'>
                                          fd: 16777215
                                          arg_word: {($ VSub_Name '$output')}
                                        )
                                      ]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name '$installed'))} 
                                                      {(Lit_Other '=')} {(no)}
                                                    )
                                                    (C {(test)} {(DQ ($ VSub_Name '$need_relink'))} 
                                                      {(Lit_Other '=')} {(yes)}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {($ VSub_Name '$ECHO')}
                                                {
                                                  (DQ ('relink_command=') 
                                                    (EscapedLiteralPart
                                                      token: <Lit_EscapedChar '\\"'>
                                                    ) ($ VSub_Name '$relink_command') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op: <Redir_DGreat '>>'>
                                                  fd: 16777215
                                                  arg_word: {($ VSub_Name '$output')}
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 48487]
                                        )
                                      ]
                                      spids: [16777215 48505]
                                    )
                                  ]
                                  spids: [47699 48508]
                                )
                              spids: [47693 47697]
                            )
                          ]
                          spids: [47685]
                        )
                      ]
                    )
                    (C {(func_show_eval)} 
                      {
                        (SQ 
                          <
'( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )'
                          >
                        )
                      } {(SQ <'exit $?'>)}
                    )
                  ]
                  spids: [47455 47457 48534 16777215]
                )
              ]
              spids: [47448 47452 48537]
            )
            (ControlFlow
              token: <ControlFlow_Exit exit>
              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
            )
          ]
          spids: [19072]
        )
      spids: [19067 19071]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (BraceGroup
          children: [
            (Sentence
              child: 
                (AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} {(link)})
                    (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} {(relink)})
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [48547]
        )
        (C {(func_mode_link)} 
          {
            (BracedVarSub
              token: <VSub_Number 1>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
              spids: [48579 48585]
            )
          }
        )
      ]
    )
    (FuncDef
      name: func_mode_uninstall
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:RM)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$nonopt'))}
                  spids: [48603]
                )
              ]
              spids: [48603]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:files) op:Equal rhs:{(EmptyPart)} spids:[48609])]
              spids: [48609]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:rmforce)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [48612]
                )
              ]
              spids: [48612]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:exit_status) op:Equal rhs:{(0)} spids:[48615])]
              spids: [48615]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_install_magic)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$magic'))}
                  spids: [48628]
                )
              ]
              spids: [48628]
            )
            (ForEach
              iter_name: arg
              do_arg_iter: T
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$arg')}
                      arms: [
                        (case_arm
                          pat_list: [{(-f)}]
                          action: [
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:RM)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$RM') (' ') ($ VSub_Name '$arg'))}
                                      spids: [48653]
                                    )
                                  ]
                                  spids: [48653]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:rmforce)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [48661]
                                )
                              ]
                              spids: [48661]
                            )
                          ]
                          spids: [48650 48651 48664 16777215]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RM)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$RM') (' ') ($ VSub_Name '$arg'))}
                                  spids: [48671]
                                )
                              ]
                              spids: [48671]
                            )
                          ]
                          spids: [48667 48669 48678 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:files)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$files') (' ') ($ VSub_Name '$arg'))}
                                  spids: [48684]
                                )
                              ]
                              spids: [48684]
                            )
                          ]
                          spids: [48681 48682 48691 16777215]
                        )
                      ]
                      spids: [48643 48647 48694]
                    )
                  ]
                  spids: [48640 48697]
                )
              spids: [16777215 16777215]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$RM'))})
                (C {(func_fatal_help)} {(DQ ('you must specify an RM program'))})
              ]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:rmdirs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [48721]
                )
              ]
              spids: [48721]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:origobjdir)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$objdir'))}
                  spids: [48725]
                )
              ]
              spids: [48725]
            )
            (ForEach
              iter_name: file
              iter_words: [{($ VSub_Name '$files')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (C {(func_dirname)} {(DQ ($ VSub_Name '$file'))} {(DQ )} {(DQ (.))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dir)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$func_dirname_result'))}
                          spids: [48757]
                        )
                      ]
                      spids: [48757]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ (X) ($ VSub_Name '$dir'))} {(Lit_Other '=')} {(X.)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:objdir)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$origobjdir'))}
                                  spids: [48780]
                                )
                              ]
                              spids: [48780]
                            )
                          ]
                          spids: [16777215 48777]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:objdir)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$dir') (/) ($ VSub_Name '$origobjdir'))}
                              spids: [48789]
                            )
                          ]
                          spids: [48789]
                        )
                      ]
                      spids: [48786 48797]
                    )
                    (C {(func_basename)} {(DQ ($ VSub_Name '$file'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:name)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                          spids: [48807]
                        )
                      ]
                      spids: [48807]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} {(uninstall)})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:objdir)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$dir'))}
                              spids: [48825]
                            )
                          ]
                          spids: [48825]
                        )
                      ]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} {(clean)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Case
                              to_match: {(DQ (' ') ($ VSub_Name '$rmdirs') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$objdir') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  spids: [48863 48870 48872 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:rmdirs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$rmdirs') (' ') ($ VSub_Name '$objdir'))
                                            }
                                          spids: [48878]
                                        )
                                      ]
                                      spids: [48878]
                                    )
                                  ]
                                  spids: [48875 48876 48885 16777215]
                                )
                              ]
                              spids: [48852 48860 48888]
                            )
                          ]
                          spids: [16777215 48849]
                        )
                      ]
                      spids: [16777215 48891]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DPipe Op_DPipe]
                                  children: [
                                    (BraceGroup
                                      children: [
                                        (Sentence
                                          child: (C {(test)} {(-L)} {(DQ ($ VSub_Name '$file'))})
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      redirects: [
                                        (Redir
                                          op: <Redir_Great '>'>
                                          fd: 16777215
                                          arg_word: {(/dev/null)}
                                        )
                                        (Redir
                                          op: <Redir_GreatAnd '2>&'>
                                          fd: 2
                                          arg_word: {(1)}
                                        )
                                      ]
                                      spids: [48901]
                                    )
                                    (BraceGroup
                                      children: [
                                        (Sentence
                                          child: (C {(test)} {(-h)} {(DQ ($ VSub_Name '$file'))})
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      redirects: [
                                        (Redir
                                          op: <Redir_Great '>'>
                                          fd: 16777215
                                          arg_word: {(/dev/null)}
                                        )
                                        (Redir
                                          op: <Redir_GreatAnd '2>&'>
                                          fd: 2
                                          arg_word: {(1)}
                                        )
                                      ]
                                      spids: [48923]
                                    )
                                    (C {(test)} {(-f)} {(DQ ($ VSub_Name '$file'))})
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Lit_Other ':')})]
                          spids: [16777215 48954]
                        )
                        (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: [48974]
                                )
                              ]
                              spids: [48974]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [48960 48971]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$rmforce'))} {(Lit_Other '=')} {(yes)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [48981 48994]
                        )
                      ]
                      spids: [16777215 49000]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rmfiles)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$file'))}
                          spids: [49004]
                        )
                      ]
                      spids: [49004]
                    )
                    (Case
                      to_match: {($ VSub_Name '$name')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.la)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(func_lalib_p)} {(DQ ($ VSub_Name '$file'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_source)} {($ VSub_Name '$dir') (/) ($ VSub_Name '$name')})
                                    (ForEach
                                      iter_name: n
                                      iter_words: [{($ VSub_Name '$library_names')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:rmfiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$rmfiles') (' ') 
                                                        ($ VSub_Name '$objdir') (/) ($ VSub_Name '$n')
                                                      )
                                                    }
                                                  spids: [49063]
                                                )
                                              ]
                                              spids: [49063]
                                            )
                                          ]
                                          spids: [49060 49073]
                                        )
                                      spids: [49056 49058]
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$old_library'))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:rmfiles)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$rmfiles') (' ') 
                                                    ($ VSub_Name '$objdir') (/) ($ VSub_Name '$old_library')
                                                  )
                                                }
                                              spids: [49086]
                                            )
                                          ]
                                          spids: [49086]
                                        )
                                      ]
                                    )
                                    (Case
                                      to_match: {(DQ ($ VSub_Name '$mode'))}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(clean)}]
                                          action: [
                                            (Case
                                              to_match: 
                                                {(DQ ('  ') ($ VSub_Name '$library_names') (' '))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$dlname') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [49125 49132 49134 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:rmfiles)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$rmfiles') (' ') 
                                                                ($ VSub_Name '$objdir') (/) ($ VSub_Name '$dlname')
                                                              )
                                                            }
                                                          spids: [49140]
                                                        )
                                                      ]
                                                      spids: [49140]
                                                    )
                                                  ]
                                                  spids: [49137 49138 49149 16777215]
                                                )
                                              ]
                                              spids: [49110 49118 49152]
                                            )
                                            (AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$libdir'))})
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:rmfiles)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$rmfiles') (' ') 
                                                            ($ VSub_Name '$objdir') (/) ($ VSub_Name '$name') (' ') ($ VSub_Name '$objdir') (/) (${ VSub_Name name) (i)
                                                          )
                                                        }
                                                      spids: [49165]
                                                    )
                                                  ]
                                                  spids: [49165]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [49106 49107 49182 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(uninstall)}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$library_names'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_execute_cmds)} 
                                                      {(DQ ($ VSub_Name '$postuninstall_cmds'))} {(SQ <'test "$rmforce" = yes || exit_status=1'>)}
                                                    )
                                                  ]
                                                  spids: [16777215 49200]
                                                )
                                              ]
                                              spids: [16777215 49218]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$old_library'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_execute_cmds)} 
                                                      {(DQ ($ VSub_Name '$old_postuninstall_cmds'))} {(SQ <'test "$rmforce" = yes || exit_status=1'>)}
                                                    )
                                                  ]
                                                  spids: [16777215 49233]
                                                )
                                              ]
                                              spids: [16777215 49251]
                                            )
                                          ]
                                          spids: [49185 49186 49258 16777215]
                                        )
                                      ]
                                      spids: [49097 49103 49261]
                                    )
                                  ]
                                  spids: [16777215 49036]
                                )
                              ]
                              spids: [16777215 49264]
                            )
                          ]
                          spids: [49018 49020 49267 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.lo)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(func_lalib_p)} {(DQ ($ VSub_Name '$file'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_source)} {($ VSub_Name '$dir') (/) ($ VSub_Name '$name')})
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$pic_object'))})
                                                    (C {(test)} {(DQ ($ VSub_Name '$pic_object'))} 
                                                      {(KW_Bang '!') (Lit_Other '=')} {(none)}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:rmfiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$rmfiles') (' ') 
                                                        ($ VSub_Name '$dir') (/) ($ VSub_Name '$pic_object')
                                                      )
                                                    }
                                                  spids: [49337]
                                                )
                                              ]
                                              spids: [49337]
                                            )
                                          ]
                                          spids: [16777215 49334]
                                        )
                                      ]
                                      spids: [16777215 49347]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$non_pic_object'))}
                                                    )
                                                    (C {(test)} {(DQ ($ VSub_Name '$non_pic_object'))} 
                                                      {(KW_Bang '!') (Lit_Other '=')} {(none)}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:rmfiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$rmfiles') (' ') 
                                                        ($ VSub_Name '$dir') (/) ($ VSub_Name '$non_pic_object')
                                                      )
                                                    }
                                                  spids: [49383]
                                                )
                                              ]
                                              spids: [49383]
                                            )
                                          ]
                                          spids: [16777215 49380]
                                        )
                                      ]
                                      spids: [16777215 49393]
                                    )
                                  ]
                                  spids: [16777215 49289]
                                )
                              ]
                              spids: [16777215 49396]
                            )
                          ]
                          spids: [49271 49273 49399 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} 
                                          {(clean)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:noexename)
                                          op: Equal
                                          rhs: {($ VSub_Name '$name')}
                                          spids: [49424]
                                        )
                                      ]
                                      spids: [49424]
                                    )
                                    (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: [49454]
                                                )
                                              ]
                                              spids: [49454]
                                            )
                                            (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: [49472]
                                                )
                                              ]
                                              spids: [49472]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:rmfiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$rmfiles') (' ') 
                                                        ($ VSub_Name '$file')
                                                      )
                                                    }
                                                  spids: [49484]
                                                )
                                              ]
                                              spids: [49484]
                                            )
                                          ]
                                          spids: [49435 49437 49492 16777215]
                                        )
                                      ]
                                      spids: [49428 49432 49495]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(func_ltwrapper_p)} {(DQ ($ VSub_Name '$file'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(func_ltwrapper_executable_p)} 
                                                          {(DQ ($ VSub_Name '$file'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_ltwrapper_scriptname)} 
                                                      {(DQ ($ VSub_Name '$file'))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:relink_command)
                                                          op: Equal
                                                          rhs: {(EmptyPart)}
                                                          spids: [49533]
                                                        )
                                                      ]
                                                      spids: [49533]
                                                    )
                                                    (C {(func_source)} 
                                                      {
                                                        ($ VSub_Name 
'$func_ltwrapper_scriptname_result'
                                                        )
                                                      }
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:rmfiles)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$rmfiles') (' ') 
                                                                ($ VSub_Name 
'$func_ltwrapper_scriptname_result'
                                                                )
                                                              )
                                                            }
                                                          spids: [49541]
                                                        )
                                                      ]
                                                      spids: [49541]
                                                    )
                                                  ]
                                                  spids: [16777215 49523]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:relink_command)
                                                      op: Equal
                                                      rhs: {(EmptyPart)}
                                                      spids: [49552]
                                                    )
                                                  ]
                                                  spids: [49552]
                                                )
                                                (C {(func_source)} 
                                                  {($ VSub_Name '$dir') (/) 
                                                    ($ VSub_Name '$noexename')
                                                  }
                                                )
                                              ]
                                              spids: [49549 49562]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:rmfiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$rmfiles') (' ') 
                                                        ($ VSub_Name '$objdir') (/) ($ VSub_Name '$name') (' ') ($ VSub_Name '$objdir') (/) (${ VSub_Name name) (S.) (${ VSub_Name objext)
                                                      )
                                                    }
                                                  spids: [49574]
                                                )
                                              ]
                                              spids: [49574]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          ops: [Op_DAmp]
                                                          children: [
                                                            (C {(test)} 
                                                              {(DQ ($ VSub_Name '$fast_install'))} {(Lit_Other '=')} {(yes)}
                                                            )
                                                            (C {(test)} {(-n)} 
                                                              {(DQ ($ VSub_Name '$relink_command'))}
                                                            )
                                                          ]
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:rmfiles)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$rmfiles') (' ') 
                                                                ($ VSub_Name '$objdir') (/lt-) ($ VSub_Name '$name')
                                                              )
                                                            }
                                                          spids: [49620]
                                                        )
                                                      ]
                                                      spids: [49620]
                                                    )
                                                  ]
                                                  spids: [16777215 49617]
                                                )
                                              ]
                                              spids: [16777215 49630]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {(DQ (X) ($ VSub_Name '$noexename'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (X) ($ VSub_Name '$name'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:rmfiles)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$rmfiles') (' ') 
                                                                ($ VSub_Name '$objdir') (/lt-) (${ VSub_Name noexename) (.c)
                                                              )
                                                            }
                                                          spids: [49655]
                                                        )
                                                      ]
                                                      spids: [49655]
                                                    )
                                                  ]
                                                  spids: [16777215 49652]
                                                )
                                              ]
                                              spids: [16777215 49668]
                                            )
                                          ]
                                          spids: [16777215 49511]
                                        )
                                      ]
                                      spids: [16777215 49671]
                                    )
                                  ]
                                  spids: [16777215 49421]
                                )
                              ]
                              spids: [16777215 49674]
                            )
                          ]
                          spids: [49403 49404 49677 16777215]
                        )
                      ]
                      spids: [49011 49015 49680]
                    )
                    (C {(func_show_eval)} {(DQ ($ VSub_Name '$RM') (' ') ($ VSub_Name '$rmfiles'))} 
                      {(SQ <'exit_status=1'>)}
                    )
                  ]
                  spids: [48740 49696]
                )
              spids: [48736 48738]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:objdir)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$origobjdir'))}
                  spids: [49699]
                )
              ]
              spids: [49699]
            )
            (ForEach
              iter_name: dir
              iter_words: [{($ VSub_Name '$rmdirs')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-d)} {(DQ ($ VSub_Name '$dir'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_show_eval)} 
                              {(DQ ('rmdir ') ($ VSub_Name '$dir') (' >/dev/null 2>&1'))}
                            )
                          ]
                          spids: [16777215 49733]
                        )
                      ]
                      spids: [16777215 49745]
                    )
                  ]
                  spids: [49719 49748]
                )
              spids: [49715 49717]
            )
            (ControlFlow
              token: <ControlFlow_Exit exit>
              arg_word: {($ VSub_Name '$exit_status')}
            )
          ]
          spids: [48597]
        )
      spids: [48592 48596]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (BraceGroup
          children: [
            (Sentence
              child: 
                (AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} {(uninstall)})
                    (C {(test)} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} {(clean)})
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [49759]
        )
        (C {(func_mode_uninstall)} 
          {
            (BracedVarSub
              token: <VSub_Number 1>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
              spids: [49791 49797]
            )
          }
        )
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$mode'))})
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:help)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$generic_help'))}
                  spids: [49813]
                )
              ]
              spids: [49813]
            )
            (C {(func_fatal_help)} {(DQ ('you must specify a MODE'))})
          ]
          spids: [49810]
        )
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$exec_cmd'))})
        (C {(func_fatal_help)} 
          {
            (DQ ('invalid operation mode ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
              ($ VSub_Name '$mode') ("'")
            )
          }
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$exec_cmd'))})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(eval)} {(exec)} {(DQ ($ VSub_Name '$exec_cmd'))})
            (ControlFlow
              token: <ControlFlow_Exit exit>
              arg_word: {($ VSub_Name '$EXIT_FAILURE')}
            )
          ]
          spids: [16777215 49861]
        )
      ]
      spids: [16777215 49877]
    )
    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_Name '$exit_status')})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:build_libtool_libs) op:Equal rhs:{(no)} spids:[49920])]
      spids: [49920]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:build_old_libs) op:Equal rhs:{(yes)} spids:[49923])]
      spids: [49923]
    )
    (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: [49941 49942 49947 16777215]
                          )
                          (case_arm
                            pat_list: [{(Lit_Other '*')}]
                            action: [(C {(echo)} {(yes)})]
                            spids: [49949 49950 49955 16777215]
                          )
                        ]
                        spids: [49935 49939 49957]
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [49934 49958]
              )
            }
          spids: [49933]
        )
      ]
      spids: [49933]
    )
  ]
)