(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PROGRAM) op:Equal rhs:{(libtool)} spids:[227])]
      spids: [227]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PACKAGE) op:Equal rhs:{(libtool)} spids:[230])]
      spids: [230]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:VERSION) op:Equal rhs:{(2.2.7a)} spids:[233])]
      spids: [233]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:TIMESTAMP)
          op: Equal
          rhs: {(DQ (' 1.3134 2009-11-29'))}
          spids: [236]
        )
      ]
      spids: [236]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:package_revision) op:Equal rhs:{(1.3134)} spids:[241])]
      spids: [241]
    )
    (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: [255 259]
                          )
                        )
                      }
                    )
                    (Subshell
                      child: (C {(emulate)} {(sh)})
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {(/dev/null)}
                          spids: [270]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 2
                          arg_word: {(1)}
                          spids: [273]
                        )
                      ]
                      spids: [264 268]
                    )
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(emulate)} {(sh)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:NULLCMD)
                  op: Equal
                  rhs: {(Lit_Other ':')}
                  spids: [285]
                )
              ]
              spids: [285]
            )
            (C {(alias)} {(-g)} {(SQ <'${1+"$@"}'>) (Lit_Other '=') (SQ <'"$@"'>)})
            (C {(setopt)} {(NO_GLOB_SUBST)})
          ]
          spids: [16777215 277]
        )
      ]
      else_action: [
        (Case
          to_match: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Subshell
                        child: (C {(set)} {(-o)})
                        redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[326])]
                        spids: [320 324]
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [319 328]
              )
            }
          arms: [
            (case_arm
              pat_list: [{(Lit_Other '*') (posix) (Lit_Other '*')}]
              action: [(C {(set)} {(-o)} {(posix)})]
              spids: [332 335 342 16777215]
            )
          ]
          spids: [317 330 344]
        )
      ]
      spids: [314 346]
    )
    (Sentence
      child: 
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:BIN_SH) op:Equal rhs:{(xpg4)} spids:[348])]
          spids: [348]
        )
      terminator: <Op_Semi ';'>
    )
    (C {(export)} {(BIN_SH)})
    (Sentence
      child: 
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:DUALCASE) op:Equal rhs:{(1)} spids:[359])]
          spids: [359]
        )
      terminator: <Op_Semi ';'>
    )
    (C {(export)} {(DUALCASE)})
    (FuncDef
      name: func_fallback_echo
      body: 
        (BraceGroup
          children: [(C {(eval)} {(SQ <'cat <<_LTECHO_EOF\n'> <'$1\n'> <_LTECHO_EOF>)})]
          spids: [379]
        )
      spids: [374 378]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:lt_user_locale) op:Equal rhs:{(EmptyPart)} spids:[405])]
      spids: [405]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:lt_safe_locale) op:Equal rhs:{(EmptyPart)} spids:[407])]
      spids: [407]
    )
    (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: [427 477]
        )
      spids: [414 16777215]
    )
    (C {($ VSub_Name '$lt_unset')} {(CDPATH)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:progpath)
          op: Equal
          rhs: {(DQ ($ VSub_Number '$0'))}
          spids: [506]
        )
      ]
      spids: [506]
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name CP>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ('cp -f'))})
          spids: [516 522]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name ECHO>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{($ VSub_Name '$as_echo')})
          spids: [526 530]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name EGREP>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ('/bin/grep -E'))})
          spids: [534 540]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name FGREP>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ('/bin/grep -F'))})
          spids: [544 550]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name GREP>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (/bin/grep))})
          spids: [554 560]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name LN_S>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ('ln -s'))})
          spids: [564 570]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name MAKE>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (make))})
          spids: [574 580]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name MKDIR>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (mkdir))})
          spids: [584 590]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name MV>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ('mv -f'))})
          spids: [594 600]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name RM>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ('rm -f'))})
          spids: [604 610]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name SED>
          suffix_op: 
            (StringUnary
              op_id: VTest_Equals
              arg_word: {(DQ (/mount/endor/wildenhu/local-x86_64/bin/sed))}
            )
          spids: [614 620]
        )
      }
    )
    (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: [628 635]
                    )
                  )
                }
            )
          spids: [624 637]
        )
      }
    )
    (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: [641 648]
        )
      }
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_SUCCESS) op:Equal rhs:{(0)} spids:[654])]
      spids: [654]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_FAILURE) op:Equal rhs:{(1)} spids:[657])]
      spids: [657]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_MISMATCH) op:Equal rhs:{(63)} spids:[660])]
      spids: [660]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_SKIP) op:Equal rhs:{(77)} spids:[666])]
      spids: [666]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:exit_status)
          op: Equal
          rhs: {($ VSub_Name '$EXIT_SUCCESS')}
          spids: [673]
        )
      ]
      spids: [673]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:lt_nl) op:Equal rhs:{(SQ <'\n'>)} spids:[680])]
      spids: [680]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:IFS)
          op: Equal
          rhs: {(DQ (' \t') ($ VSub_Name '$lt_nl'))}
          spids: [685]
        )
      ]
      spids: [685]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:dirname)
          op: Equal
          rhs: {(DQ ('s,/[^/]*') (Lit_Other '$') (',,'))}
          spids: [692]
        )
      ]
      spids: [692]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:basename) op:Equal rhs:{(DQ ('s,^.*/,,'))} spids:[699])]
      spids: [699]
    )
    (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 (${ VSub_Number 1))})
                                  (C {($ VSub_Name '$SED')} {(-e)} {(DQ ($ VSub_Name '$dirname'))})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [754 772]
                      )
                    }
                  spids: [753]
                )
              ]
              spids: [753]
            )
            (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: [797]
                        )
                      ]
                      spids: [797]
                    )
                  ]
                  spids: [16777215 794]
                )
              ]
              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: [808]
                    )
                  ]
                  spids: [808]
                )
              ]
              spids: [805 817]
            )
            (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 (${ VSub_Number 1))})
                                  (C {($ VSub_Name '$SED')} {(-e)} {(DQ ($ VSub_Name '$basename'))})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [821 839]
                      )
                    }
                  spids: [820]
                )
              ]
              spids: [820]
            )
          ]
          spids: [746]
        )
      spids: [741 745]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pathcar)
          op: Equal
          rhs: {(SQ <'s,^/\\([^/]*\\).*$,\\1,'>)}
          spids: [851]
        )
      ]
      spids: [851]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pathcdr)
          op: Equal
          rhs: {(SQ <'s,^/[^/]*,,'>)}
          spids: [856]
        )
      ]
      spids: [856]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:removedotparts)
          op: Equal
          rhs: {(SQ <':dotsl\n'> <'\t\ts@/\\./@/@g\n'> <'\t\tt dotsl\n'> <'\t\ts,/\\.$,/,'>)}
          spids: [861]
        )
      ]
      spids: [861]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:collapseslashes)
          op: Equal
          rhs: {(SQ <'s@/\\{1,\\}@/@g'>)}
          spids: [869]
        )
      ]
      spids: [869]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:finalslash)
          op: Equal
          rhs: {(SQ <'s,/*$,/,'>)}
          spids: [874]
        )
      ]
      spids: [874]
    )
    (FuncDef
      name: func_normal_abspath
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_normal_abspath_result)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [907]
                )
              ]
              spids: [907]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_normal_abspath_tpath)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [910]
                )
              ]
              spids: [910]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_normal_abspath_altnamespace)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [914]
                )
              ]
              spids: [914]
            )
            (Case
              to_match: {($ VSub_Name '$func_normal_abspath_tpath')}
              arms: [
                (case_arm
                  pat_list: [{(DQ )}]
                  action: [
                    (C {(func_stripname)} {(SQ )} {(SQ </>)} 
                      {
                        (DQ 
                          (CommandSubPart
                            command_list: (CommandList children:[(C {(pwd)})])
                            left_token: <Left_Backtick '`'>
                            spids: [943 945]
                          )
                        )
                      }
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_normal_abspath_result)
                          op: Equal
                          rhs: {($ VSub_Name '$func_stripname_result')}
                          spids: [949]
                        )
                      ]
                      spids: [949]
                    )
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  spids: [16777215 926 956 16777215]
                )
                (case_arm
                  pat_list: [{(///) (Lit_Other '*')}]
                  spids: [971 973 980 16777215]
                )
                (case_arm
                  pat_list: [{(//) (Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_normal_abspath_altnamespace)
                          op: Equal
                          rhs: {(/)}
                          spids: [1000]
                        )
                      ]
                      spids: [1000]
                    )
                  ]
                  spids: [983 985 1004 16777215]
                )
                (case_arm
                  pat_list: [{(/) (Lit_Other '*')}]
                  spids: [1007 1009 1016 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_normal_abspath_tpath)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: (CommandList children:[(C {(pwd)})])
                                left_token: <Left_Backtick '`'>
                                spids: [1028 1030]
                              ) (/) ($ VSub_Name '$func_normal_abspath_tpath')
                            }
                          spids: [1027]
                        )
                      ]
                      spids: [1027]
                    )
                  ]
                  spids: [1019 1020 1035 16777215]
                )
              ]
              spids: [917 921 1038]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_normal_abspath_tpath)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {($ VSub_Name '$ECHO')} 
                                    {(DQ ($ VSub_Name '$func_normal_abspath_tpath'))}
                                  )
                                  (C {($ VSub_Name '$SED')} {(-e)} {(DQ ($ VSub_Name '$removedotparts'))} 
                                    {(-e)} {(DQ ($ VSub_Name '$collapseslashes'))} {(-e)} {(DQ ($ VSub_Name '$finalslash'))}
                                  )
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [1054 1084]
                      )
                    }
                  spids: [1053]
                )
              ]
              spids: [1053]
            )
            (While
              cond: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$func_normal_abspath_tpath'))} 
                                  {(Lit_Other '=')} {(/)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-z)} 
                                          {(DQ ($ VSub_Name '$func_normal_abspath_result'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_normal_abspath_result)
                                          op: Equal
                                          rhs: {(/)}
                                          spids: [1135]
                                        )
                                      ]
                                      spids: [1135]
                                    )
                                  ]
                                  spids: [16777215 1132]
                                )
                              ]
                              spids: [16777215 1139]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [16777215 1113]
                        )
                      ]
                      spids: [16777215 1145]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_normal_abspath_tcomponent)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name '$ECHO')} 
                                            {(DQ ($ VSub_Name '$func_normal_abspath_tpath'))}
                                          )
                                          (C {($ VSub_Name '$SED')} {(-e)} 
                                            {(DQ ($ VSub_Name '$pathcar'))}
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1149 1167]
                              )
                            }
                          spids: [1148]
                        )
                      ]
                      spids: [1148]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_normal_abspath_tpath)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name '$ECHO')} 
                                            {(DQ ($ VSub_Name '$func_normal_abspath_tpath'))}
                                          )
                                          (C {($ VSub_Name '$SED')} {(-e)} 
                                            {(DQ ($ VSub_Name '$pathcdr'))}
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1171 1189]
                              )
                            }
                          spids: [1170]
                        )
                      ]
                      spids: [1170]
                    )
                    (Case
                      to_match: {($ VSub_Name '$func_normal_abspath_tcomponent')}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ )}]
                          spids: [16777215 1205 1212 16777215]
                        )
                        (case_arm
                          pat_list: [{(..)}]
                          action: [
                            (C {(func_dirname)} {(DQ ($ VSub_Name '$func_normal_abspath_result'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_normal_abspath_result)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_dirname_result')}
                                  spids: [1230]
                                )
                              ]
                              spids: [1230]
                            )
                          ]
                          spids: [1215 1216 1234 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_normal_abspath_result)
                                  op: Equal
                                  rhs: 
                                    {($ VSub_Name '$func_normal_abspath_result') (/) 
                                      ($ VSub_Name '$func_normal_abspath_tcomponent')
                                    }
                                  spids: [1245]
                                )
                              ]
                              spids: [1245]
                            )
                          ]
                          spids: [1237 1238 1251 16777215]
                        )
                      ]
                      spids: [1196 1200 1254]
                    )
                  ]
                  spids: [1092 1257]
                )
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_normal_abspath_result)
                  op: Equal
                  rhs: 
                    {($ VSub_Name '$func_normal_abspath_altnamespace') 
                      ($ VSub_Name '$func_normal_abspath_result')
                    }
                  spids: [1264]
                )
              ]
              spids: [1264]
            )
          ]
          spids: [900]
        )
      spids: [895 899]
    )
    (FuncDef
      name: func_relative_path
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_relative_path_result)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [1294]
                )
              ]
              spids: [1294]
            )
            (C {(func_normal_abspath)} {(DQ ($ VSub_Number '$1'))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_relative_path_tlibdir)
                  op: Equal
                  rhs: {($ VSub_Name '$func_normal_abspath_result')}
                  spids: [1304]
                )
              ]
              spids: [1304]
            )
            (C {(func_normal_abspath)} {(DQ ($ VSub_Number '$2'))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_relative_path_tbindir)
                  op: Equal
                  rhs: {($ VSub_Name '$func_normal_abspath_result')}
                  spids: [1315]
                )
              ]
              spids: [1315]
            )
            (While
              cond: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$func_relative_path_tbindir')}
                      arms: [
                        (case_arm
                          pat_list: [{($ VSub_Name '$func_relative_path_tlibdir')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_relative_path_tcancelled)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [1351]
                                )
                              ]
                              spids: [1351]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [1343 1344 1357 16777215]
                        )
                        (case_arm
                          pat_list: [{($ VSub_Name '$func_relative_path_tlibdir') (Lit_Other '*')}]
                          action: [
                            (C {(func_stripname)} {(DQ ($ VSub_Name '$func_relative_path_tlibdir'))} {(SQ )} 
                              {(DQ ($ VSub_Name '$func_relative_path_tbindir'))}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_relative_path_tcancelled)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                  spids: [1383]
                                )
                              ]
                              spids: [1383]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-z)} 
                                          {(DQ ($ VSub_Name '$func_relative_path_result'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_relative_path_result)
                                          op: Equal
                                          rhs: {(.)}
                                          spids: [1401]
                                        )
                                      ]
                                      spids: [1401]
                                    )
                                  ]
                                  spids: [16777215 1398]
                                )
                              ]
                              spids: [16777215 1405]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [1360 1362 1411 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (C {(func_dirname)} {($ VSub_Name '$func_relative_path_tlibdir')})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_relative_path_tlibdir)
                                  op: Equal
                                  rhs: {(${ VSub_Name func_dirname_result)}
                                  spids: [1423]
                                )
                              ]
                              spids: [1423]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} 
                                          {(DQ (x) ($ VSub_Name '$func_relative_path_tlibdir'))} {(Lit_Other '=')} {(x)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_relative_path_result)
                                          op: Equal
                                          rhs: {(../) ($ VSub_Name '$func_relative_path_result')}
                                          spids: [1451]
                                        )
                                      ]
                                      spids: [1451]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_relative_path_tcancelled)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_relative_path_tbindir')}
                                          spids: [1456]
                                        )
                                      ]
                                      spids: [1456]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Break break>
                                    )
                                  ]
                                  spids: [16777215 1444]
                                )
                              ]
                              spids: [16777215 1463]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_relative_path_result)
                                  op: Equal
                                  rhs: {(../) ($ VSub_Name '$func_relative_path_result')}
                                  spids: [1466]
                                )
                              ]
                              spids: [1466]
                            )
                          ]
                          spids: [1414 1415 1471 16777215]
                        )
                      ]
                      spids: [1336 1340 1474]
                    )
                  ]
                  spids: [1329 1477]
                )
            )
            (C {(func_stripname)} {(SQ )} {(SQ </>)} {(DQ ($ VSub_Name '$func_relative_path_result'))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_relative_path_result)
                  op: Equal
                  rhs: {($ VSub_Name '$func_stripname_result')}
                  spids: [1499]
                )
              ]
              spids: [1499]
            )
            (C {(func_stripname)} {(SQ </>)} {(SQ </>)} 
              {(DQ ($ VSub_Name '$func_relative_path_tcancelled'))}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ (x) ($ VSub_Name '$func_stripname_result'))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(x)}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_relative_path_result)
                          op: Equal
                          rhs: 
                            {(${ VSub_Name func_relative_path_result) (/) 
                              (${ VSub_Name func_stripname_result)
                            }
                          spids: [1537]
                        )
                      ]
                      spids: [1537]
                    )
                  ]
                  spids: [16777215 1534]
                )
              ]
              spids: [16777215 1547]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(KW_Bang '!')} {(-z)} 
                          {(DQ ($ VSub_Name '$func_relative_path_result'))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_stripname)} {(SQ <./>)} {(SQ )} 
                      {(DQ ($ VSub_Name '$func_relative_path_result') (/))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_relative_path_result)
                          op: Equal
                          rhs: {($ VSub_Name '$func_stripname_result')}
                          spids: [1594]
                        )
                      ]
                      spids: [1594]
                    )
                  ]
                  spids: [16777215 1576]
                )
              ]
              spids: [16777215 1598]
            )
          ]
          spids: [1291]
        )
      spids: [1286 1290]
    )
    (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: [1612]
        )
      ]
      spids: [1612]
    )
    (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: [1626 1638 1640 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: [1652]
                )
              ]
              spids: [1652]
            )
            (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: [1657 1667]
                      )
                    }
                  spids: [1656]
                )
              ]
              spids: [1656]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:progpath)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$progdir') (/) ($ VSub_Name '$progname'))}
                  spids: [1670]
                )
              ]
              spids: [1670]
            )
          ]
          spids: [1643 1649 1678 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: [1685]
                )
              ]
              spids: [1685]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {(Lit_Other ':')}
                  spids: [1691]
                )
              ]
              spids: [1691]
            )
            (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: [1707]
                        )
                      ]
                      spids: [1707]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-x)} {(DQ ($ VSub_Name '$progdir') (/) ($ VSub_Name '$progname'))})
                        (ControlFlow token:<ControlFlow_Break break>)
                      ]
                    )
                  ]
                  spids: [1704 1728]
                )
              spids: [1700 1702]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$save_IFS'))}
                  spids: [1731]
                )
              ]
              spids: [1731]
            )
            (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: [1748 1750]
                          )
                        }
                      spids: [1747]
                    )
                  ]
                  spids: [1747]
                )
              ]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:progpath)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$progdir') (/) ($ VSub_Name '$progname'))}
                  spids: [1753]
                )
              ]
              spids: [1753]
            )
          ]
          spids: [1681 1682 1761 16777215]
        )
      ]
      spids: [1619 1623 1763]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:Xsed)
          op: Equal
          rhs: {(DQ (${ VSub_Name SED)) (SQ <' -e 1s/^X//'>)}
          spids: [1772]
        )
      ]
      spids: [1772]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sed_quote_subst)
          op: Equal
          rhs: {(SQ <'s/\\([`"$\\\\]\\)/\\\\\\1/g'>)}
          spids: [1782]
        )
      ]
      spids: [1782]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:double_quote_subst)
          op: Equal
          rhs: {(SQ <'s/\\(["`\\\\]\\)/\\\\\\1/g'>)}
          spids: [1791]
        )
      ]
      spids: [1791]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:bs) op:Equal rhs:{(SQ <'\\\\'>)} spids:[1812])]
      spids: [1812]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:bs2) op:Equal rhs:{(SQ <'\\\\\\\\'>)} spids:[1817])]
      spids: [1817]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:bs4)
          op: Equal
          rhs: {(SQ <'\\\\\\\\\\\\\\\\'>)}
          spids: [1822]
        )
      ]
      spids: [1822]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:dollar) op:Equal rhs:{(SQ <'\\$'>)} spids:[1827])]
      spids: [1827]
    )
    (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: [1832]
        )
      ]
      spids: [1832]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_dry_run) op:Equal rhs:{(false)} spids:[1872])]
      spids: [1872]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_help) op:Equal rhs:{(false)} spids:[1875])]
      spids: [1875]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_quiet) op:Equal rhs:{(false)} spids:[1878])]
      spids: [1878]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_verbose) op:Equal rhs:{(false)} spids:[1881])]
      spids: [1881]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:opt_warning)
          op: Equal
          rhs: {(Lit_Other ':')}
          spids: [1884]
        )
      ]
      spids: [1884]
    )
    (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: [1909 1913]
                  ) ($ VSub_Name '$mode') (': ') ($ VSub_Star '$*')
                )
              }
            )
          ]
          spids: [1902]
        )
      spids: [1897 1901]
    )
    (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: [1942 1948]
                    )
                  }
                )
              ]
            )
            (C {(Lit_Other ':')})
          ]
          spids: [1933]
        )
      spids: [1928 1932]
    )
    (FuncDef
      name: func_echo_all
      body: 
        (BraceGroup
          children: [(C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Star '$*'))})]
          spids: [1980]
        )
      spids: [1975 1979]
    )
    (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: [2010 2014]
                    ) ($ VSub_Name '$mode') (': ')
                  ) 
                  (BracedVarSub
                    token: <VSub_Number 1>
                    suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                    spids: [2018 2024]
                  )
                }
              ]
              redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[2026])]
            )
          ]
          spids: [2003]
        )
      spids: [1998 2002]
    )
    (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: [2054 2058]
                        ) ($ VSub_Name '$mode') (': warning: ')
                      ) 
                      (BracedVarSub
                        token: <VSub_Number 1>
                        suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                        spids: [2062 2068]
                      )
                    }
                  ]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[2070])]
                )
              ]
            )
            (C {(Lit_Other ':')})
          ]
          spids: [2043]
        )
      spids: [2038 2042]
    )
    (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: [2100 2106]
                )
              }
            )
            (ControlFlow
              token: <ControlFlow_Exit exit>
              arg_word: {($ VSub_Name '$EXIT_FAILURE')}
            )
          ]
          spids: [2095]
        )
      spids: [2090 2094]
    )
    (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: [2135 2141]
                )
              }
            )
            (C {(func_fatal_error)} {(DQ ($ VSub_Name '$help'))})
          ]
          spids: [2130]
        )
      spids: [2125 2129]
    )
    (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: [2152]
        )
      ]
      spids: [2152]
    )
    (FuncDef
      name: func_grep
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{($ VSub_Name '$GREP')} {(DQ ($ VSub_Number '$1'))} {(DQ ($ VSub_Number '$2'))}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {(/dev/null)}
                  spids: [2189]
                )
                (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[2192])
              ]
            )
          ]
          spids: [2176]
        )
      spids: [2171 2175]
    )
    (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: [2213]
                )
              ]
              spids: [2213]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_dir_list)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [2219]
                )
              ]
              spids: [2219]
            )
            (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: [2268]
                                )
                              ]
                              spids: [2268]
                            )
                          ]
                          spids: [2264 2266 2274 16777215]
                        )
                      ]
                      spids: [2257 2261 2277]
                    )
                    (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: [2309]
                                )
                              ]
                              spids: [2309]
                            )
                            (Case
                              to_match: {($ VSub_Name '$my_directory_path')}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (/) (Lit_Other '*')}]
                                  spids: [2328 2331 2333 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                                  spids: [2335 2336 2340 16777215]
                                )
                              ]
                              spids: [2322 2326 2342]
                            )
                            (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 ($ VSub_Name '$my_directory_path'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} {(-e)} 
                                                    {(DQ ($ VSub_Name '$dirname'))}
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [2351 2367]
                                      )
                                    }
                                  spids: [2350]
                                )
                              ]
                              spids: [2350]
                            )
                          ]
                          spids: [2298 2370]
                        )
                    )
                    (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 ($ VSub_Name '$my_dir_list'))})
                                          (C {($ VSub_Name '$SED')} {(SQ <'s,:*$,,'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [2374 2388]
                              )
                            }
                          spids: [2373]
                        )
                      ]
                      spids: [2373]
                    )
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:save_mkdir_p_IFS)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$IFS'))}
                              spids: [2392]
                            )
                          ]
                          spids: [2392]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {(SQ <':'>)}
                          spids: [2398]
                        )
                      ]
                      spids: [2398]
                    )
                    (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: [2416]
                                )
                              ]
                              spids: [2416]
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (SimpleCommand
                                  words: [{($ VSub_Name '$MKDIR')} {(DQ ($ VSub_Name '$my_dir'))}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [2440]
                                    )
                                  ]
                                )
                                (C {(Lit_Other ':')})
                              ]
                            )
                          ]
                          spids: [2413 2448]
                        )
                      spids: [2409 2411]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$save_mkdir_p_IFS'))}
                          spids: [2451]
                        )
                      ]
                      spids: [2451]
                    )
                    (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 2249]
                )
              ]
              spids: [16777215 2484]
            )
          ]
          spids: [2210]
        )
      spids: [2205 2209]
    )
    (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: [2512 2517]
                        ) (/) 
                        (BracedVarSub
                          token: <VSub_Number 1>
                          suffix_op: 
                            (StringUnary
                              op_id: VTest_Hyphen
                              arg_word: {($ VSub_Name '$progname')}
                            )
                          spids: [2519 2523]
                        )
                      )
                    }
                  spids: [2510]
                )
              ]
              spids: [2510]
            )
            (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: [2550]
                        )
                      ]
                      spids: [2550]
                    )
                  ]
                  spids: [16777215 2543]
                )
              ]
              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_id: Redir_Great
                                        fd: 2
                                        arg_word: {(/dev/null)}
                                        spids: [2581]
                                      )
                                    ]
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [2569 2583]
                          )
                        }
                      spids: [2568]
                    )
                  ]
                  spids: [2568]
                )
                (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: [2613 2617]
                                    ) ($ VSub_Dollar '$$')
                                  )
                                }
                              spids: [2607]
                            )
                          ]
                          spids: [2607]
                        )
                        (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: [2624 2626]
                                  )
                                }
                              spids: [2623]
                            )
                          ]
                          spids: [2623]
                        )
                        (C {(umask)} {(0077)})
                        (C {($ VSub_Name '$MKDIR')} {(DQ ($ VSub_Name '$my_tmpdir'))})
                        (C {(umask)} {($ VSub_Name '$save_mktempdir_umask')})
                      ]
                      spids: [16777215 2600]
                    )
                  ]
                  spids: [16777215 2646]
                )
                (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: [2560 2676]
            )
            (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$my_tmpdir'))})
          ]
          spids: [2507]
        )
      spids: [2502 2506]
    )
    (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 ($ VSub_Number '$1'))})
                                          (C {($ VSub_Name '$SED')} 
                                            {(DQ ($ VSub_Name '$sed_quote_subst'))}
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [2735 2749]
                              )
                            }
                          spids: [2734]
                        )
                      ]
                      spids: [2734]
                    )
                  ]
                  spids: [2723 2731 2751 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: [2758]
                        )
                      ]
                      spids: [2758]
                    )
                  ]
                  spids: [2754 2755 2763 16777215]
                )
              ]
              spids: [2716 2720 2766]
            )
            (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: [2829]
                        )
                      ]
                      spids: [2829]
                    )
                  ]
                  spids: [2797 2826 2837 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: [2844]
                        )
                      ]
                      spids: [2844]
                    )
                  ]
                  spids: [2840 2841 16777215 2850]
                )
              ]
              spids: [2770 2774 2850]
            )
          ]
          spids: [2713]
        )
      spids: [2708 2712]
    )
    (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 ($ VSub_Number '$1'))})
                                          (C {($ VSub_Name '$SED')} {(-e)} 
                                            {(DQ ($ VSub_Name '$double_quote_subst'))} {(-e)} {(DQ ($ VSub_Name '$sed_double_backslash'))}
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [2891 2915]
                              )
                            }
                          spids: [2890]
                        )
                      ]
                      spids: [2890]
                    )
                  ]
                  spids: [2880 2887 2917 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: [2924]
                        )
                      ]
                      spids: [2924]
                    )
                  ]
                  spids: [2920 2921 2929 16777215]
                )
              ]
              spids: [2873 2877 2932]
            )
            (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: [2991]
                        )
                      ]
                      spids: [2991]
                    )
                  ]
                  spids: [2959 2988 2999 16777215]
                )
              ]
              spids: [2936 2940 3002]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_quote_for_expand_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$my_arg'))}
                  spids: [3006]
                )
              ]
              spids: [3006]
            )
          ]
          spids: [2870]
        )
      spids: [2865 2869]
    )
    (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: [3035]
                )
              ]
              spids: [3035]
            )
            (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: [3043 3047]
                        )
                      )
                    }
                  spids: [3041]
                )
              ]
              spids: [3041]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C 
                  {
                    (BracedVarSub
                      token: <VSub_Name opt_silent>
                      suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(false)})
                      spids: [3052 3056]
                    )
                  }
                )
                (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: [3060]
                )
              ]
            )
            (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: [3084 3088]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
                  spids: [16777215 3091]
                )
              ]
              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: [3106]
                    )
                  ]
                  spids: [3106]
                )
                (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 3123]
                    )
                  ]
                  else_action: [
                    (C {(eval)} 
                      {
                        (DQ ('(exit ') ($ VSub_Name '$my_status') ('); ') ($ VSub_Name '$my_fail_exp'))
                      }
                    )
                  ]
                  spids: [3128 3141]
                )
              ]
              spids: [3096 3144]
            )
          ]
          spids: [3032]
        )
      spids: [3027 3031]
    )
    (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: [3170]
                )
              ]
              spids: [3170]
            )
            (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: [3178 3182]
                        )
                      )
                    }
                  spids: [3176]
                )
              ]
              spids: [3176]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C 
                  {
                    (BracedVarSub
                      token: <VSub_Name opt_silent>
                      suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(false)})
                      spids: [3187 3191]
                    )
                  }
                )
                (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: [3195]
                )
              ]
            )
            (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: [3219 3223]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
                  spids: [16777215 3226]
                )
              ]
              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: [3244]
                    )
                  ]
                  spids: [3244]
                )
                (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 3268]
                    )
                  ]
                  else_action: [
                    (C {(eval)} 
                      {
                        (DQ ('(exit ') ($ VSub_Name '$my_status') ('); ') ($ VSub_Name '$my_fail_exp'))
                      }
                    )
                  ]
                  spids: [3273 3286]
                )
              ]
              spids: [3231 3289]
            )
          ]
          spids: [3167]
        )
      spids: [3162 3166]
    )
    (FuncDef
      name: func_version
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [
                {($ VSub_Name '$SED')}
                {(-n)}
                {
                  (SQ <'/(C)/!b go\n'> <'\t:more\n'> <'\t/\\./!{\n'> <'\t  N\n'> <'\t  s/\\n# //\n'> 
                    <'\t  b more\n'> <'\t}\n'> <'\t:go\n'> <'\t/^# '>
                  ) ($ 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_id: Redir_Less
                  fd: 16777215
                  arg_word: {(DQ ($ VSub_Name '$progpath'))}
                  spids: [3337]
                )
              ]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_QMark '$?')})
          ]
          spids: [3309]
        )
      spids: [3304 3308]
    )
    (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_id: Redir_Less
                  fd: 16777215
                  arg_word: {(DQ ($ VSub_Name '$progpath'))}
                  spids: [3382]
                )
              ]
            )
            (C {(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: [3362]
        )
      spids: [3357 3361]
    )
    (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_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [3491]
                                    )
                                  ]
                                  spids: [3485 3489]
                                )
                                (C {($ VSub_Name '$SED')} {(1q)})
                              ]
                              negated: F
                            )
                          ]
                        )
                      left_token: <Left_Backtick '`'>
                      spids: [3484 3498]
                    )
                  ) (SQ <'/\n'> <'\ts/\\$autoconf_version/'>) 
                  (DQ 
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (Pipeline
                              children: [
                                (Subshell
                                  child: (C {(autoconf)} {(--version)})
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [3512]
                                    )
                                  ]
                                  spids: [3506 3510]
                                )
                                (C {($ VSub_Name '$SED')} {(1q)})
                              ]
                              negated: F
                            )
                          ]
                        )
                      left_token: <Left_Backtick '`'>
                      spids: [3505 3519]
                    )
                  ) (SQ <'/\n'> <'\tp\n'> <'     }'>)
                }
              ]
              redirects: [
                (Redir
                  op_id: Redir_Less
                  fd: 16777215
                  arg_word: {(DQ ($ VSub_Name '$progpath'))}
                  spids: [3527]
                )
              ]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ret)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [3534]
                )
              ]
              spids: [3534]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Number '$1'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_Name '$ret')})]
                  spids: [16777215 3549]
                )
              ]
              spids: [16777215 3557]
            )
          ]
          spids: [3423]
        )
      spids: [3418 3422]
    )
    (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: [3587]
                )
              ]
              spids: [3587]
            )
          ]
          spids: [3576]
        )
      spids: [3571 3575]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:exit_cmd) op:Equal rhs:{(Lit_Other ':')} spids:[3593])]
      spids: [3593]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:magic)
          op: Equal
          rhs: {(DQ ('%%%MAGIC variable%%%'))}
          spids: [3602]
        )
      ]
      spids: [3602]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:magic_exe)
          op: Equal
          rhs: {(DQ ('%%%MAGIC EXE variable%%%'))}
          spids: [3607]
        )
      ]
      spids: [3607]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:nonopt) op:Equal rhs:{(EmptyPart)} spids:[3619])]
      spids: [3619]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:execute_dlfiles)
          op: Equal
          rhs: {(EmptyPart)}
          spids: [3621]
        )
      ]
      spids: [3621]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:preserve_args) op:Equal rhs:{(EmptyPart)} spids:[3623])]
      spids: [3623]
    )
    (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: [3625]
        )
      ]
      spids: [3625]
    )
    (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: [3638]
        )
      ]
      spids: [3638]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:extracted_archives)
          op: Equal
          rhs: {(EmptyPart)}
          spids: [3650]
        )
      ]
      spids: [3650]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:extracted_serial) op:Equal rhs:{(0)} spids:[3652])]
      spids: [3652]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_dry_run) op:Equal rhs:{(false)} spids:[3656])]
      spids: [3656]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_finish) op:Equal rhs:{(Lit_Other ':')} spids:[3659])]
      spids: [3659]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_duplicate_deps) op:Equal rhs:{(false)} spids:[3662])]
      spids: [3662]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_silent) op:Equal rhs:{(false)} spids:[3665])]
      spids: [3665]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_debug) op:Equal rhs:{(Lit_Other ':')} spids:[3668])]
      spids: [3668]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:exec_cmd) op:Equal rhs:{(EmptyPart)} spids:[3681])]
      spids: [3681]
    )
    (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: [3703 3709]
                )
              }
            )
            (C {(func_error)} 
              {(DQ ('See the ') ($ VSub_Name '$PACKAGE') (' documentation for more information.'))}
            )
            (C {(func_fatal_error)} {(DQ ('Fatal configuration error.'))})
          ]
          spids: [3698]
        )
      spids: [3693 3697]
    )
    (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: [3745]
                )
              ]
              spids: [3745]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:re_endcf)
                  op: Equal
                  rhs: {(SQ <'^# ### END LIBTOOL'>)}
                  spids: [3751]
                )
              ]
              spids: [3751]
            )
            (SimpleCommand
              words: [
                {($ VSub_Name '$SED')}
                {
                  (DQ ('1,/') ($ VSub_Name '$re_begincf') (' CONFIG/d;/') ($ VSub_Name '$re_endcf') 
                    (' CONFIG/,') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (d)
                  )
                }
              ]
              redirects: [
                (Redir
                  op_id: Redir_Less
                  fd: 16777215
                  arg_word: {(DQ ($ VSub_Name '$progpath'))}
                  spids: [3774]
                )
              ]
            )
            (ForEach
              iter_name: tagname
              iter_words: [{($ VSub_Name '$taglist')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (SimpleCommand
                      words: [
                        {($ VSub_Name '$SED')}
                        {(-n)}
                        {
                          (DQ (/) ($ VSub_Name '$re_begincf') (' TAG CONFIG: ') ($ VSub_Name '$tagname') 
                            (EscapedLiteralPart
                              token: <Lit_EscapedChar '\\$'>
                            ) ('/,/') ($ VSub_Name '$re_endcf') (' TAG CONFIG: ') ($ VSub_Name '$tagname') 
                            (EscapedLiteralPart
                              token: <Lit_EscapedChar '\\$'>
                            ) (/p)
                          )
                        }
                      ]
                      redirects: [
                        (Redir
                          op_id: Redir_Less
                          fd: 16777215
                          arg_word: {(DQ ($ VSub_Name '$progpath'))}
                          spids: [3816]
                        )
                      ]
                    )
                  ]
                  spids: [3795 3823]
                )
              spids: [3791 3793]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_QMark '$?')})
          ]
          spids: [3742]
        )
      spids: [3737 3741]
    )
    (FuncDef
      name: func_features
      body: 
        (BraceGroup
          children: [
            (C {(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 {(echo)} {(DQ ('enable shared libraries'))})]
                  spids: [16777215 3869]
                )
              ]
              else_action: [(C {(echo)} {(DQ ('disable shared libraries'))})]
              spids: [3879 3889]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$build_old_libs'))} {(Lit_Other '=')} {(yes)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(echo)} {(DQ ('enable static libraries'))})]
                  spids: [16777215 3905]
                )
              ]
              else_action: [(C {(echo)} {(DQ ('disable static libraries'))})]
              spids: [3915 3925]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_QMark '$?')})
          ]
          spids: [3845]
        )
      spids: [3840 3844]
    )
    (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: [3960]
                )
              ]
              spids: [3960]
            )
            (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: [3967]
                )
              ]
              spids: [3967]
            )
            (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: [3975]
                )
              ]
              spids: [3975]
            )
            (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: [3983]
                )
              ]
              spids: [3983]
            )
            (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: [4005 4013 4024 16777215]
                )
              ]
              spids: [3998 4002 4027]
            )
            (Case
              to_match: {($ VSub_Name '$tagname')}
              arms: [
                (case_arm pat_list:[{(CC)}] spids:[4046 4047 4049 16777215])
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (SimpleCommand
                                  words: [
                                    {($ VSub_Name '$GREP')}
                                    {(DQ ($ VSub_Name '$re_begincf'))}
                                    {(DQ ($ VSub_Name '$progpath'))}
                                  ]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 16777215
                                      arg_word: {(/dev/null)}
                                      spids: [4068]
                                    )
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 2
                                      arg_word: {(1)}
                                      spids: [4071]
                                    )
                                  ]
                                )
                              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: [4078]
                                )
                              ]
                              spids: [4078]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:extractedcf)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {($ VSub_Name '$SED')}
                                                  {(-n)}
                                                  {(-e)}
                                                  {(DQ ($ VSub_Name '$sed_extractcf'))}
                                                ]
                                                redirects: [
                                                  (Redir
                                                    op_id: Redir_Less
                                                    fd: 16777215
                                                    arg_word: {(DQ ($ VSub_Name '$progpath'))}
                                                    spids: [4115]
                                                  )
                                                ]
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [4104 4120]
                                      )
                                    }
                                  spids: [4103]
                                )
                              ]
                              spids: [4103]
                            )
                            (C {(eval)} {(DQ ($ VSub_Name '$extractedcf'))})
                          ]
                          spids: [16777215 4075]
                        )
                      ]
                      else_action: [
                        (C {(func_error)} {(DQ ('ignoring unknown tag ') ($ VSub_Name '$tagname'))})
                      ]
                      spids: [4130 4141]
                    )
                  ]
                  spids: [4052 4053 4144 16777215]
                )
              ]
              spids: [4039 4043 4147]
            )
          ]
          spids: [3953]
        )
      spids: [3948 3952]
    )
    (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: [4194 4200]
                        )
                      }
                    )
                  terminator: <Op_Semi ';'>
                )
                (C {(shift)})
              ]
              spids: [4173 4180 4206 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: [4236 4242]
                        )
                      }
                    )
                  terminator: <Op_Semi ';'>
                )
                (C {(shift)})
              ]
              spids: [4209 4222 4248 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: [4278 4284]
                        )
                      }
                    )
                  terminator: <Op_Semi ';'>
                )
                (C {(shift)})
              ]
              spids: [4251 4264 4290 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: [4318 4324]
                        )
                      }
                    )
                  terminator: <Op_Semi ';'>
                )
                (C {(shift)})
              ]
              spids: [4293 4304 4330 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: [4360 4366]
                        )
                      }
                    )
                  terminator: <Op_Semi ';'>
                )
                (C {(shift)})
              ]
              spids: [4333 4346 4372 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: [4396 4402]
                        )
                      }
                    )
                  terminator: <Op_Semi ';'>
                )
                (C {(shift)})
              ]
              spids: [4375 4382 4408 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: [4442 4448]
                        )
                      }
                    )
                  terminator: <Op_Semi ';'>
                )
                (C {(shift)})
              ]
              spids: [4411 4428 4454 16777215]
            )
          ]
          spids: [4166 4170 4457]
        )
        (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: [4481]
                    )
                  ]
                  spids: [4481]
                )
                (C {(shift)})
                (Case
                  to_match: {($ VSub_Name '$opt')}
                  arms: [
                    (case_arm
                      pat_list: [{(--config)}]
                      action: [(C {(func_config)})]
                      spids: [4498 4499 4503 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: [4510]
                            )
                          ]
                          spids: [4510]
                        )
                        (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: [4525]
                            )
                          ]
                          spids: [4525]
                        )
                        (C {($ VSub_Name '$opt_debug')})
                      ]
                      spids: [4507 4508 4534 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: [4564]
                            )
                          ]
                          spids: [4564]
                        )
                        (C {(shift)})
                      ]
                      spids: [4538 4539 4575 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: [4586]
                            )
                          ]
                          spids: [4586]
                        )
                      ]
                      spids: [4579 4584 4589 16777215]
                    )
                    (case_arm
                      pat_list: [{(--features)}]
                      action: [(C {(func_features)})]
                      spids: [4592 4593 4597 16777215]
                    )
                    (case_arm
                      pat_list: [{(--finish)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:mode)
                              op: Equal
                              rhs: {(DQ (finish))}
                              spids: [4603]
                            )
                          ]
                          spids: [4603]
                        )
                      ]
                      spids: [4600 4601 4608 16777215]
                    )
                    (case_arm
                      pat_list: [{(--no-finish)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_finish)
                              op: Equal
                              rhs: {(false)}
                              spids: [4614]
                            )
                          ]
                          spids: [4614]
                        )
                      ]
                      spids: [4611 4612 4617 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: [4658 4659 4661 16777215]
                            )
                            (case_arm
                              pat_list: [{(compile)}]
                              spids: [4664 4665 4667 16777215]
                            )
                            (case_arm
                              pat_list: [{(execute)}]
                              spids: [4670 4671 4673 16777215]
                            )
                            (case_arm
                              pat_list: [{(finish)}]
                              spids: [4676 4677 4679 16777215]
                            )
                            (case_arm
                              pat_list: [{(install)}]
                              spids: [4682 4683 4685 16777215]
                            )
                            (case_arm
                              pat_list: [{(link)}]
                              spids: [4688 4689 4691 16777215]
                            )
                            (case_arm
                              pat_list: [{(relink)}]
                              spids: [4694 4695 4697 16777215]
                            )
                            (case_arm
                              pat_list: [{(uninstall)}]
                              spids: [4700 4701 4703 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: [4722]
                                    )
                                  ]
                                  spids: [4722]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                              spids: [4711 4712 4729 16777215]
                            )
                          ]
                          spids: [4647 4651 4732]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:mode)
                              op: Equal
                              rhs: {(DQ ($ VSub_Number '$1'))}
                              spids: [4736]
                            )
                          ]
                          spids: [4736]
                        )
                        (C {(shift)})
                      ]
                      spids: [4621 4622 4745 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: [4753]
                            )
                          ]
                          spids: [4753]
                        )
                      ]
                      spids: [4749 4750 4756 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: [4765]
                            )
                          ]
                          spids: [4765]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_silent)
                              op: Equal
                              rhs: {(Lit_Other ':')}
                              spids: [4773]
                            )
                          ]
                          spids: [4773]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_verbose)
                              op: Equal
                              rhs: {(false)}
                              spids: [4777]
                            )
                          ]
                          spids: [4777]
                        )
                      ]
                      spids: [4760 4763 4781 16777215]
                    )
                    (case_arm
                      pat_list: [{(--no-quiet)} {(--no-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: [4791]
                            )
                          ]
                          spids: [4791]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_silent)
                              op: Equal
                              rhs: {(false)}
                              spids: [4799]
                            )
                          ]
                          spids: [4799]
                        )
                      ]
                      spids: [4785 4788 4803 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: [4813]
                            )
                          ]
                          spids: [4813]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_silent)
                              op: Equal
                              rhs: {(false)}
                              spids: [4821]
                            )
                          ]
                          spids: [4821]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_verbose)
                              op: Equal
                              rhs: {(Lit_Other ':')}
                              spids: [4825]
                            )
                          ]
                          spids: [4825]
                        )
                      ]
                      spids: [4807 4811 4829 16777215]
                    )
                    (case_arm
                      pat_list: [{(--no-verbose)}]
                      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: [4836]
                            )
                          ]
                          spids: [4836]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_verbose)
                              op: Equal
                              rhs: {(false)}
                              spids: [4844]
                            )
                          ]
                          spids: [4844]
                        )
                      ]
                      spids: [4833 4834 4848 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: [4878]
                            )
                          ]
                          spids: [4878]
                        )
                        (C {(func_enable_tag)} {(DQ ($ VSub_Number '$1'))})
                        (C {(shift)})
                      ]
                      spids: [4852 4853 4901 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: [4942 4948]
                            )
                          }
                        )
                        (C {(shift)})
                      ]
                      spids: [4909 4920 4954 16777215]
                    )
                    (case_arm
                      pat_list: [{(-) (EscapedLiteralPart token:<Lit_EscapedChar '\\?'>)} {(-h)}]
                      action: [(C {(func_usage)})]
                      spids: [4958 4962 4966 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: [4972]
                            )
                          ]
                          spids: [4972]
                        )
                      ]
                      spids: [4969 4970 4975 16777215]
                    )
                    (case_arm
                      pat_list: [{(--help-all)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_help)
                              op: Equal
                              rhs: {(SQ <': help-all'>)}
                              spids: [4981]
                            )
                          ]
                          spids: [4981]
                        )
                      ]
                      spids: [4978 4979 4986 16777215]
                    )
                    (case_arm
                      pat_list: [{(--version)}]
                      action: [(C {(func_version)})]
                      spids: [4989 4990 4994 16777215]
                    )
                    (case_arm
                      pat_list: [{(-) (Lit_Other '*')}]
                      action: [
                        (C {(func_fatal_help)} 
                          {
                            (DQ ('unrecognized option ') 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\`'>
                              ) ($ VSub_Name '$opt') ("'")
                            )
                          }
                        )
                      ]
                      spids: [4998 5000 5011 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: [5018]
                            )
                          ]
                          spids: [5018]
                        )
                        (ControlFlow token:<ControlFlow_Break break>)
                      ]
                      spids: [5015 5016 5027 16777215]
                    )
                  ]
                  spids: [4491 4495 5030]
                )
              ]
              spids: [4478 5033]
            )
        )
        (Case
          to_match: {($ VSub_Name '$host')}
          arms: [
            (case_arm
              pat_list: [
                {(Lit_Other '*') (cygwin) (Lit_Other '*')}
                {(Lit_Other '*') (mingw) (Lit_Other '*')}
                {(Lit_Other '*') (pw32) (Lit_Other '*')}
                {(Lit_Other '*') (cegcc) (Lit_Other '*')}
                {(Lit_Other '*') (solaris2) (Lit_Other '*')}
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:opt_duplicate_compiler_generated_deps)
                      op: Equal
                      rhs: {(Lit_Other ':')}
                      spids: [5080]
                    )
                  ]
                  spids: [5080]
                )
              ]
              spids: [5045 5073 5084 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: [5091]
                    )
                  ]
                  spids: [5091]
                )
              ]
              spids: [5087 5088 5095 16777215]
            )
          ]
          spids: [5038 5042 5098]
        )
        (C {($ VSub_Name '$exit_cmd')} {($ VSub_Name '$EXIT_FAILURE')})
      ]
      spids: [4158]
    )
    (FuncDef
      name: func_check_version_match
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$package_revision'))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$macro_revision'))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$VERSION'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$macro_version'))}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$macro_version'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (SimpleCommand
                                      words: [{(cat)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: 16777215
                                          arg_word: {(2)}
                                          spids: [5188]
                                        )
                                        (HereDoc
                                          op_id: Redir_DLess
                                          fd: 16777215
                                          body: 
                                            {
                                              (DQ ($ VSub_Name '$progname') 
                                                (': Version mismatch error.  This is ') ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$VERSION') (', but the\n') ($ VSub_Name '$progname') 
                                                (
': definition of this LT_INIT comes from an older release.\n'
                                                ) ($ VSub_Name '$progname') (': You should recreate aclocal.m4 with macros from ') 
                                                ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$VERSION') ('\n') ($ VSub_Name '$progname') (': and run autoconf again.\n')
                                              )
                                            }
                                          do_expansion: True
                                          here_end: _LT_EOF
                                          was_filled: T
                                          spids: [5191]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 5183]
                                )
                              ]
                              else_action: [
                                (SimpleCommand
                                  words: [{(cat)}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 16777215
                                      arg_word: {(2)}
                                      spids: [5217]
                                    )
                                    (HereDoc
                                      op_id: Redir_DLess
                                      fd: 16777215
                                      body: 
                                        {
                                          (DQ ($ VSub_Name '$progname') 
                                            (': Version mismatch error.  This is ') ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$VERSION') (', but the\n') ($ VSub_Name '$progname') 
                                            (': definition of this LT_INIT comes from ') ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$macro_version') ('.\n') ($ VSub_Name '$progname') 
                                            (': You should recreate aclocal.m4 with macros from ') ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$VERSION') ('\n') ($ VSub_Name '$progname') 
                                            (': and run autoconf again.\n')
                                          )
                                        }
                                      do_expansion: True
                                      here_end: _LT_EOF
                                      was_filled: T
                                      spids: [5220]
                                    )
                                  ]
                                )
                              ]
                              spids: [5212 5245]
                            )
                          ]
                          spids: [16777215 5169]
                        )
                      ]
                      else_action: [
                        (SimpleCommand
                          words: [{(cat)}]
                          redirects: [
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 16777215
                              arg_word: {(2)}
                              spids: [5253]
                            )
                            (HereDoc
                              op_id: Redir_DLess
                              fd: 16777215
                              body: 
                                {
                                  (DQ ($ VSub_Name '$progname') 
                                    (': Version mismatch error.  This is ') ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$VERSION') (', revision ') ($ VSub_Name '$package_revision') 
                                    (',\n') ($ VSub_Name '$progname') (': but the definition of this LT_INIT comes from revision ') 
                                    ($ VSub_Name '$macro_revision') ('.\n') ($ VSub_Name '$progname') (': You should recreate aclocal.m4 with macros from revision ') 
                                    ($ VSub_Name '$package_revision') ('\n') ($ VSub_Name '$progname') (': of ') ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$VERSION') 
                                    (' and run autoconf again.\n')
                                  )
                                }
                              do_expansion: True
                              here_end: _LT_EOF
                              was_filled: T
                              spids: [5256]
                            )
                          ]
                        )
                      ]
                      spids: [5248 5283]
                    )
                    (ControlFlow
                      token: <ControlFlow_Exit exit>
                      arg_word: {($ VSub_Name '$EXIT_MISMATCH')}
                    )
                  ]
                  spids: [16777215 5150]
                )
              ]
              spids: [16777215 5292]
            )
          ]
          spids: [5131]
        )
      spids: [5126 5130]
    )
    (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 5350]
                )
              ]
              spids: [16777215 5360]
            )
            (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)} 
              {
                (DQ ('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_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[5445])]
                    )
                    (ControlFlow
                      token: <ControlFlow_Exit exit>
                      arg_word: {($ VSub_Name '$EXIT_FAILURE')}
                    )
                  ]
                  spids: [16777215 5427]
                )
              ]
              spids: [16777215 5454]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:generic_help)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$help'))}
                  spids: [5462]
                )
              ]
              spids: [5462]
            )
            (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: [5468]
                )
              ]
              spids: [5468]
            )
          ]
          spids: [5312]
        )
      ]
    )
    (FuncDef
      name: func_lalib_p
      body: 
        (BraceGroup
          children: [
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-f)} {(DQ ($ VSub_Number '$1'))})
                (Pipeline
                  children: [
                    (SimpleCommand
                      words: [{($ VSub_Name '$SED')} {(-e)} {(4q)} {(DQ ($ VSub_Number '$1'))}]
                      redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[5523])]
                    )
                    (SimpleCommand
                      words: [
                        {($ VSub_Name '$GREP')}
                        {(DQ ('^# Generated by .*') ($ VSub_Name '$PACKAGE'))}
                      ]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {(/dev/null)}
                          spids: [5537]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 2
                          arg_word: {(1)}
                          spids: [5541]
                        )
                      ]
                    )
                  ]
                  negated: F
                )
              ]
            )
          ]
          spids: [5499]
        )
      spids: [5494 5498]
    )
    (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:[5576])]
              spids: [5576]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp Op_DAmp]
                          children: [
                            (C {(test)} {(-f)} {(DQ ($ VSub_Number '$1'))})
                            (C {(test)} {(-r)} {(DQ ($ VSub_Number '$1'))})
                            (SimpleCommand
                              words: [{(exec)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_LessAnd
                                  fd: 5
                                  arg_word: {(0)}
                                  spids: [5604]
                                )
                                (Redir
                                  op_id: Redir_Less
                                  fd: 16777215
                                  arg_word: {(DQ ($ VSub_Number '$1'))}
                                  spids: [5607]
                                )
                              ]
                            )
                          ]
                        )
                      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: [5660]
                                            )
                                          ]
                                          spids: [5660]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Break break>
                                    )
                                  ]
                                  spids: [5648 5658 5665 16777215]
                                )
                              ]
                              spids: [5639 5645 5668]
                            )
                          ]
                          spids: [5631 5671]
                        )
                      spids: [5621 16777215]
                    )
                    (SimpleCommand
                      words: [{(exec)}]
                      redirects: [
                        (Redir
                          op_id: Redir_LessAnd
                          fd: 0
                          arg_word: {(5)}
                          spids: [5676]
                        )
                        (Redir
                          op_id: Redir_LessAnd
                          fd: 5
                          arg_word: {(-)}
                          spids: [5679]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 5613]
                )
              ]
              spids: [16777215 5683]
            )
            (C {(test)} {(DQ ($ VSub_Name '$lalib_p'))} {(Lit_Other '=')} {(yes)})
          ]
          spids: [5573]
        )
      spids: [5568 5572]
    )
    (FuncDef
      name: func_ltwrapper_script_p
      body: (BraceGroup children:[(C {(func_lalib_p)} {(DQ ($ VSub_Number '$1'))})] spids:[5716])
      spids: [5711 5715]
    )
    (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: [5748]
                )
              ]
              spids: [5748]
            )
            (Case
              to_match: {($ VSub_Number '$1')}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other '*') (.exe)}]
                  spids: [5758 5760 5762 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: [5768]
                        )
                      ]
                      spids: [5768]
                    )
                  ]
                  spids: [5765 5766 5771 16777215]
                )
              ]
              spids: [5751 5755 5774]
            )
            (SimpleCommand
              words: [
                {($ VSub_Name '$GREP')}
                {(DQ ($ VSub_Name '$magic_exe'))}
                {(DQ ($ VSub_Number '$1') ($ VSub_Name '$func_ltwrapper_exec_suffix'))}
              ]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {(/dev/null)}
                  spids: [5788]
                )
                (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[5791])
              ]
            )
          ]
          spids: [5745]
        )
      spids: [5740 5744]
    )
    (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: [5817]
                )
              ]
              spids: [5817]
            )
            (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: [5862]
                        )
                      ]
                      spids: [5862]
                    )
                  ]
                  spids: [16777215 5831]
                )
              ]
              spids: [16777215 5875]
            )
          ]
          spids: [5814]
        )
      spids: [5809 5813]
    )
    (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: [5897]
        )
      spids: [5892 5896]
    )
    (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: [5941]
                    )
                  ]
                  spids: [5941]
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(SQ <'~'>)} spids:[5945])]
              spids: [5945]
            )
            (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: [5963]
                        )
                      ]
                      spids: [5963]
                    )
                    (C {(eval)} 
                      {
                        (DQ ('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: [5984 5988]
                          )
                        )
                      }
                    )
                  ]
                  spids: [5960 5992]
                )
              spids: [5956 5958]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$save_ifs')}
                  spids: [5995]
                )
              ]
              spids: [5995]
            )
          ]
          spids: [5935]
        )
      spids: [5930 5934]
    )
    (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: [6038 6047 6055 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(C {(.)} {(DQ (./) ($ VSub_Number '$1'))})]
                  spids: [6058 6059 6068 16777215]
                )
              ]
              spids: [6031 6035 6071]
            )
          ]
          spids: [6025]
        )
      spids: [6020 6024]
    )
    (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: [6130]
                        )
                      ]
                      spids: [6130]
                    )
                    (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: [6152]
                                )
                              ]
                              spids: [6152]
                            )
                          ]
                          spids: [6142 6160]
                        )
                      spids: [6138 6140]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CC_expanded)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(func_echo_all)} {($ VSub_Name '$CC')})]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [6164 6168]
                              )
                            }
                          spids: [6163]
                        )
                      ]
                      spids: [6163]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CC_quoted_expanded)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(func_echo_all)} {($ VSub_Name '$CC_quoted')})]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [6172 6176]
                              )
                            }
                          spids: [6171]
                        )
                      ]
                      spids: [6171]
                    )
                    (Case
                      to_match: {($ VSub_At '$@')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(DQ (' ') ($ VSub_Name '$CC') (' ')) (Lit_Other '*')}
                            {(DQ ($ VSub_Name '$CC') (' ')) (Lit_Other '*')}
                            {(DQ (' ') ($ VSub_Name '$CC_expanded') (' ')) (Lit_Other '*')}
                            {(DQ ($ VSub_Name '$CC_expanded') (' ')) (Lit_Other '*')}
                            {(DQ (' ') ($ VSub_Name '$CC_quoted')) (Lit_Other '*')}
                            {(DQ ($ VSub_Name '$CC_quoted') (' ')) (Lit_Other '*')}
                            {(DQ (' ') ($ VSub_Name '$CC_quoted_expanded') (' ')) (Lit_Other '*')}
                            {(DQ ($ VSub_Name '$CC_quoted_expanded') (' ')) (Lit_Other '*')}
                          ]
                          spids: [6195 6260 6262 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (ForEach
                              iter_name: z
                              iter_words: [{($ VSub_Name '$available_tags')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (SimpleCommand
                                                  words: [
                                                    {($ VSub_Name '$GREP')}
                                                    {
                                                      (DQ ('^# ### BEGIN LIBTOOL TAG CONFIG: ') 
                                                        ($ VSub_Name '$z') (Lit_Other '$')
                                                      )
                                                    }
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_Less
                                                      fd: 16777215
                                                      arg_word: {(DQ ($ VSub_Name '$progpath'))}
                                                      spids: [6299]
                                                    )
                                                    (Redir
                                                      op_id: Redir_Great
                                                      fd: 16777215
                                                      arg_word: {(/dev/null)}
                                                      spids: [6305]
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(eval)} 
                                              {
                                                (DQ 
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (SimpleCommand
                                                            words: [
                                                              {(${ VSub_Name SED)}
                                                              {(-n)}
                                                              {(-e)}
                                                              {
                                                                (SQ 
                                                                  <
'/^# ### BEGIN LIBTOOL TAG CONFIG: '
                                                                  >
                                                                ) ($ VSub_Name '$z') (SQ <'$/,/^# ### END LIBTOOL TAG CONFIG: '>) ($ VSub_Name '$z') (SQ <'$/p'>)
                                                              }
                                                            ]
                                                            redirects: [
                                                              (Redir
                                                                op_id: Redir_Less
                                                                fd: 16777215
                                                                arg_word: {($ VSub_Name '$progpath')}
                                                                spids: [6341]
                                                              )
                                                            ]
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [6320 6344]
                                                  )
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:CC_quoted)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [6348]
                                                )
                                              ]
                                              spids: [6348]
                                            )
                                            (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: [6374]
                                                        )
                                                      ]
                                                      spids: [6374]
                                                    )
                                                  ]
                                                  spids: [6360 6382]
                                                )
                                              spids: [6356 6358]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:CC_expanded)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (C {(func_echo_all)} 
                                                                {($ VSub_Name '$CC')}
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [6386 6390]
                                                      )
                                                    }
                                                  spids: [6385]
                                                )
                                              ]
                                              spids: [6385]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:CC_quoted_expanded)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (C {(func_echo_all)} 
                                                                {($ VSub_Name '$CC_quoted')}
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [6394 6398]
                                                      )
                                                    }
                                                  spids: [6393]
                                                )
                                              ]
                                              spids: [6393]
                                            )
                                            (Case
                                              to_match: {(DQ ($ VSub_At '$@') (' '))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(DQ (' ') ($ VSub_Name '$CC') (' ')) 
                                                      (Lit_Other '*')
                                                    }
                                                    {(DQ ($ VSub_Name '$CC') (' ')) (Lit_Other '*')}
                                                    {(DQ (' ') ($ VSub_Name '$CC_expanded') (' ')) 
                                                      (Lit_Other '*')
                                                    }
                                                    {(DQ ($ VSub_Name '$CC_expanded') (' ')) 
                                                      (Lit_Other '*')
                                                    }
                                                    {(DQ (' ') ($ VSub_Name '$CC_quoted')) 
                                                      (Lit_Other '*')
                                                    }
                                                    {(DQ ($ VSub_Name '$CC_quoted') (' ')) 
                                                      (Lit_Other '*')
                                                    }
                                                    {
                                                      (DQ (' ') ($ VSub_Name '$CC_quoted_expanded') 
                                                        (' ')
                                                      ) (Lit_Other '*')
                                                    }
                                                    {(DQ ($ VSub_Name '$CC_quoted_expanded') (' ')) 
                                                      (Lit_Other '*')
                                                    }
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:tagname)
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$z')}
                                                          spids: [6492]
                                                        )
                                                      ]
                                                      spids: [6492]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [6412 6477 6499 16777215]
                                                )
                                              ]
                                              spids: [6401 6408 6502]
                                            )
                                          ]
                                          spids: [16777215 6310]
                                        )
                                      ]
                                      spids: [16777215 6505]
                                    )
                                  ]
                                  spids: [6286 6508]
                                )
                              spids: [6282 6284]
                            )
                            (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 6534]
                                )
                              ]
                              spids: [16777215 6559]
                            )
                          ]
                          spids: [6273 6274 6562 16777215]
                        )
                      ]
                      spids: [6179 6183 6565]
                    )
                  ]
                  spids: [16777215 6127]
                )
              ]
              spids: [16777215 6568]
            )
          ]
          spids: [6100]
        )
      spids: [6095 6099]
    )
    (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: [6592]
                )
              ]
              spids: [6592]
            )
            (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: [6614]
                        )
                      ]
                      spids: [6614]
                    )
                  ]
                  spids: [16777215 6611]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:write_lobj)
                      op: Equal
                      rhs: {(none)}
                      spids: [6625]
                    )
                  ]
                  spids: [6625]
                )
              ]
              spids: [6622 6629]
            )
            (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: [6649]
                        )
                      ]
                      spids: [6649]
                    )
                  ]
                  spids: [16777215 6646]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:write_oldobj)
                      op: Equal
                      rhs: {(none)}
                      spids: [6660]
                    )
                  ]
                  spids: [6660]
                )
              ]
              spids: [6657 6664]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {($ VSub_Name '$opt_dry_run')})
                (BraceGroup
                  children: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {(${ VSub_Name write_libobj) (T)}
                          spids: [6677]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ('# ') ($ VSub_Name '$write_libobj') (' - a libtool object file\n') 
                                ('# Generated by ') ($ VSub_Name '$PROGRAM') (' (GNU ') ($ VSub_Name '$PACKAGE') ($ VSub_Name '$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')
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: T
                          spids: [6683]
                        )
                      ]
                    )
                    (C {($ VSub_Name '$MV')} {(DQ (${ VSub_Name write_libobj) (T))} 
                      {(DQ (${ VSub_Name write_libobj))}
                    )
                  ]
                  spids: [6672]
                )
              ]
            )
          ]
          spids: [6589]
        )
      spids: [6584 6588]
    )
    (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: [6752]
                )
              ]
              spids: [6752]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:srcfile)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$nonopt'))}
                  spids: [6755]
                )
              ]
              spids: [6755]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:suppress_opt) op:Equal rhs:{(yes)} spids:[6764])]
              spids: [6764]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:suppress_output)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [6768]
                )
              ]
              spids: [6768]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:arg_mode) op:Equal rhs:{(normal)} spids:[6771])]
              spids: [6771]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libobj) op:Equal rhs:{(EmptyPart)} spids:[6775])]
              spids: [6775]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:later) op:Equal rhs:{(EmptyPart)} spids:[6778])]
              spids: [6778]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pie_flag)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [6781]
                )
              ]
              spids: [6781]
            )
            (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: [6809]
                                )
                              ]
                              spids: [6809]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg_mode)
                                  op: Equal
                                  rhs: {(normal)}
                                  spids: [6815]
                                )
                              ]
                              spids: [6815]
                            )
                          ]
                          spids: [6800 6802 6819 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: [6828]
                                )
                              ]
                              spids: [6828]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg_mode)
                                  op: Equal
                                  rhs: {(normal)}
                                  spids: [6834]
                                )
                              ]
                              spids: [6834]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [6823 6825 6841 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: [6886]
                                        )
                                      ]
                                      spids: [6886]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [6861 6862 6893 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: [6909]
                                        )
                                      ]
                                      spids: [6909]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [6897 6906 6920 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: [6940]
                                        )
                                      ]
                                      spids: [6940]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [6924 6937 6951 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: [6959]
                                        )
                                      ]
                                      spids: [6959]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [6955 6956 6966 16777215]
                                )
                                (case_arm
                                  pat_list: [{(-Xcompiler)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg_mode)
                                          op: Equal
                                          rhs: {(arg)}
                                          spids: [6974]
                                        )
                                      ]
                                      spids: [6974]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [6970 6971 6987 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: [7014]
                                        )
                                      ]
                                      spids: [7014]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lastarg)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [7018]
                                        )
                                      ]
                                      spids: [7018]
                                    )
                                    (Sentence
                                      child: 
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:save_ifs)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$IFS'))}
                                              spids: [7021]
                                            )
                                          ]
                                          spids: [7021]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(SQ <','>)}
                                          spids: [7027]
                                        )
                                      ]
                                      spids: [7027]
                                    )
                                    (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: [7045]
                                                )
                                              ]
                                              spids: [7045]
                                            )
                                            (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: [7058]
                                                )
                                              ]
                                              spids: [7058]
                                            )
                                          ]
                                          spids: [7042 7066]
                                        )
                                      spids: [7038 7040]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                          spids: [7069]
                                        )
                                      ]
                                      spids: [7069]
                                    )
                                    (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: [7089]
                                        )
                                      ]
                                      spids: [7089]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:base_compile)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$base_compile') (' ') 
                                                ($ VSub_Name '$lastarg')
                                              )
                                            }
                                          spids: [7098]
                                        )
                                      ]
                                      spids: [7098]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [6994 6997 7109 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: [7129]
                                        )
                                      ]
                                      spids: [7129]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:srcfile)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$arg'))}
                                          spids: [7135]
                                        )
                                      ]
                                      spids: [7135]
                                    )
                                  ]
                                  spids: [7113 7114 7141 16777215]
                                )
                              ]
                              spids: [6854 6858 7144]
                            )
                          ]
                          spids: [6845 6847 7150 16777215]
                        )
                      ]
                      spids: [6793 6797 7153]
                    )
                    (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: [7171]
                        )
                      ]
                      spids: [7171]
                    )
                  ]
                  spids: [6790 7179]
                )
              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: [7193 7194 7204 16777215]
                )
                (case_arm
                  pat_list: [{(target)}]
                  action: [
                    (C {(func_fatal_error)} 
                      {
                        (DQ ('you must specify a target with ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-o'")
                        )
                      }
                    )
                  ]
                  spids: [7207 7208 7220 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: [7251]
                                )
                              ]
                              spids: [7251]
                            )
                          ]
                          spids: [7241]
                        )
                      ]
                    )
                  ]
                  spids: [7223 7224 7260 16777215]
                )
              ]
              spids: [7186 7190 7263]
            )
            (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)}
                    {(Lit_Other '*') (.cu)}
                    {(Lit_Other '*') (.cup)}
                  ]
                  action: [
                    (C {(func_xform)} {(DQ ($ VSub_Name '$libobj'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:libobj)
                          op: Equal
                          rhs: {($ VSub_Name '$func_xform_result')}
                          spids: [7397]
                        )
                      ]
                      spids: [7397]
                    )
                  ]
                  spids: [7282 7387 7401 16777215]
                )
              ]
              spids: [7275 7279 7404]
            )
            (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: [7426]
                        )
                      ]
                      spids: [7426]
                    )
                  ]
                  spids: [7415 7417 7429 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: [7432 7433 7446 16777215]
                )
              ]
              spids: [7408 7412 7449]
            )
            (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: [7504]
                                )
                              ]
                              spids: [7504]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [7478 7479 7511 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: [7519]
                                )
                              ]
                              spids: [7519]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [7523]
                                )
                              ]
                              spids: [7523]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [7515 7516 7530 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: [7538]
                                )
                              ]
                              spids: [7538]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [7534 7535 7545 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: [7553]
                                )
                              ]
                              spids: [7553]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [7549 7550 7560 16777215]
                        )
                      ]
                      spids: [7471 7475 7563]
                    )
                  ]
                  spids: [7468 7566]
                )
              spids: [7464 7466]
            )
            (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: [7645]
                )
              ]
              spids: [7645]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:xdir)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$func_dirname_result'))}
                  spids: [7651]
                )
              ]
              spids: [7651]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:lobj)
                  op: Equal
                  rhs: {(${ VSub_Name xdir) ($ VSub_Name '$objdir') (/) ($ VSub_Name '$objname')}
                  spids: [7657]
                )
              ]
              spids: [7657]
            )
            (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: [7707]
                        )
                      ]
                      spids: [7707]
                    )
                  ]
                  spids: [16777215 7704]
                )
              ]
              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: [7725]
                    )
                  ]
                  spids: [7725]
                )
              ]
              spids: [7722 7738]
            )
            (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: [7778]
                        )
                      ]
                      spids: [7778]
                    )
                  ]
                  spids: [7753 7775 7782 16777215]
                )
              ]
              spids: [7746 7750 7785]
            )
            (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: [7821]
                        )
                      ]
                      spids: [7821]
                    )
                  ]
                  spids: [16777215 7814]
                )
              ]
              spids: [16777215 7825]
            )
            (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 ($ VSub_Name '$srcfile'))})
                                          (C {($ VSub_Name '$SED')} {(SQ <'s%^.*/%%; s%\\.[^.]*$%%'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [7854 7868]
                              ) (.) (${ VSub_Name objext)
                            }
                          spids: [7853]
                        )
                      ]
                      spids: [7853]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:lockfile)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$output_obj') (.lock))}
                          spids: [7875]
                        )
                      ]
                      spids: [7875]
                    )
                  ]
                  spids: [16777215 7850]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:output_obj)
                      op: Equal
                      rhs: {(EmptyPart)}
                      spids: [7885]
                    )
                  ]
                  spids: [7885]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:need_locks)
                      op: Equal
                      rhs: {(no)}
                      spids: [7888]
                    )
                  ]
                  spids: [7888]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:lockfile)
                      op: Equal
                      rhs: {(EmptyPart)}
                      spids: [7892]
                    )
                  ]
                  spids: [7892]
                )
              ]
              spids: [7882 7895]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(DQ ($ VSub_Name '$need_locks'))} {(Lit_Other '=')} {(yes)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Until
                      cond: [
                        (Sentence
                          child: 
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (SimpleCommand
                                  words: [
                                    {(ln)}
                                    {(DQ ($ VSub_Name '$progpath'))}
                                    {(DQ ($ VSub_Name '$lockfile'))}
                                  ]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [7939]
                                    )
                                  ]
                                )
                              ]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      body: 
                        (DoGroup
                          children: [
                            (C {(func_echo)} 
                              {(DQ ('Waiting for ') ($ VSub_Name '$lockfile') (' to be removed'))}
                            )
                            (C {(sleep)} {(2)})
                          ]
                          spids: [7943 7960]
                        )
                    )
                  ]
                  spids: [16777215 7920]
                )
                (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_id: Redir_Great
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                                spids: [8005]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [8000 8007]
                                  ) ('\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 7990]
                        )
                      ]
                      spids: [16777215 8038]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:removelist)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$removelist') (' ') ($ VSub_Name '$output_obj'))}
                          spids: [8041]
                        )
                      ]
                      spids: [8041]
                    )
                    (SimpleCommand
                      words: [{($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$srcfile'))}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {(DQ ($ VSub_Name '$lockfile'))}
                          spids: [8055]
                        )
                      ]
                    )
                  ]
                  spids: [7963 7976]
                )
              ]
              spids: [16777215 8062]
            )
            (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: [8075]
                )
              ]
              spids: [8075]
            )
            (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)} 
                      {
                        (DQ ('srcfile=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          ($ VSub_Name '$fix_srcfile_path') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                        )
                      }
                    )
                  ]
                  spids: [16777215 8108]
                )
              ]
              spids: [16777215 8121]
            )
            (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: [8131]
                )
              ]
              spids: [8131]
            )
            (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: [8160]
                        )
                      ]
                      spids: [8160]
                    )
                    (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: [8182]
                                )
                              ]
                              spids: [8182]
                            )
                          ]
                          spids: [16777215 8179]
                        )
                      ]
                      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: [8199]
                            )
                          ]
                          spids: [8199]
                        )
                      ]
                      spids: [8192 8207]
                    )
                    (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: [8238]
                                )
                              ]
                              spids: [8238]
                            )
                          ]
                          spids: [16777215 8231]
                        )
                      ]
                      spids: [16777215 8246]
                    )
                    (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_id: Redir_Great
                                                        fd: 2
                                                        arg_word: {(/dev/null)}
                                                        spids: [8288]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [8283 8290]
                                          )
                                        )
                                      } {(KW_Bang '!') (Lit_Other '=')} {(DQ (X) ($ VSub_Name '$srcfile'))}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {($ VSub_Name '$ECHO')} 
                              {
                                (DQ ('*** ERROR, ') ($ VSub_Name '$lockfile') (' contains:\n') 
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (SimpleCommand
                                            words: [{(cat)} {($ VSub_Name '$lockfile')}]
                                            redirects: [
                                              (Redir
                                                op_id: Redir_Great
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                                spids: [8317]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [8312 8319]
                                  ) ('\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 8302]
                        )
                      ]
                      spids: [16777215 8354]
                    )
                    (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 8390]
                        )
                      ]
                      spids: [16777215 8406]
                    )
                    (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: [8430]
                                )
                              ]
                              spids: [8430]
                            )
                          ]
                          spids: [16777215 8427]
                        )
                      ]
                      spids: [16777215 8436]
                    )
                  ]
                  spids: [16777215 8153]
                )
              ]
              spids: [16777215 8439]
            )
            (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: [8484]
                                )
                              ]
                              spids: [8484]
                            )
                          ]
                          spids: [16777215 8477]
                        )
                      ]
                      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: [8496]
                            )
                          ]
                          spids: [8496]
                        )
                      ]
                      spids: [8493 8506]
                    )
                    (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: [8525]
                                )
                              ]
                              spids: [8525]
                            )
                          ]
                          spids: [16777215 8522]
                        )
                      ]
                      spids: [16777215 8533]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:command)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$command') ($ VSub_Name '$suppress_output'))}
                          spids: [8541]
                        )
                      ]
                      spids: [8541]
                    )
                    (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_id: Redir_Great
                                                        fd: 2
                                                        arg_word: {(/dev/null)}
                                                        spids: [8586]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [8581 8588]
                                          )
                                        )
                                      } {(KW_Bang '!') (Lit_Other '=')} {(DQ (X) ($ VSub_Name '$srcfile'))}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {($ VSub_Name '$ECHO')} 
                              {
                                (DQ ('*** ERROR, ') ($ VSub_Name '$lockfile') (' contains:\n') 
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (SimpleCommand
                                            words: [{(cat)} {($ VSub_Name '$lockfile')}]
                                            redirects: [
                                              (Redir
                                                op_id: Redir_Great
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                                spids: [8615]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [8610 8617]
                                  ) ('\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 8600]
                        )
                      ]
                      spids: [16777215 8652]
                    )
                    (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 8688]
                        )
                      ]
                      spids: [16777215 8704]
                    )
                  ]
                  spids: [16777215 8460]
                )
              ]
              spids: [16777215 8707]
            )
            (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: [8757]
                                )
                              ]
                              spids: [8757]
                            )
                            (C {($ VSub_Name '$RM')} {(DQ ($ VSub_Name '$lockfile'))})
                          ]
                          spids: [16777215 8754]
                        )
                      ]
                      spids: [16777215 8768]
                    )
                  ]
                  spids: [8715]
                )
              ]
            )
            (ControlFlow
              token: <ControlFlow_Exit exit>
              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
            )
          ]
          spids: [6742]
        )
      spids: [6737 6741]
    )
    (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: [8803 8809]
                    )
                  }
                )
              ]
            )
          ]
          spids: [8786]
        )
      ]
    )
    (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: [16777215 8835 8849 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: [8853 8854 8880 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") ('  -Wc,FLAG          pass FLAG directly to the compiler\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: [8884 8885 8927 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: [8931 8932 8962 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: [8966 8967 8989 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-dir PREFIX-DIR  Use PREFIX-DIR as a staging area for installation\n') ('\n') 
                          (
'The rest of the components are interpreted as arguments to that command (only\n'
                          ) ('BSD-compatible install options are recognized).')
                        )
                      }
                    )
                  ]
                  spids: [8993 8994 9023 16777215]
                )
                (case_arm
                  pat_list: [{(link)}]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('Usage: ') ($ VSub_Name '$progname') 
                          (' [OPTION]... --mode=link LINK-COMMAND...\n') ('\n') ('Link object files or libraries together to form another library, or to\n') 
                          ('create an executable program.\n') ('\n') ('LINK-COMMAND is a command using the C compiler that you would use to create\n') 
                          ('a program from several object files.\n') ('\n') ('The following components of LINK-COMMAND are treated specially:\n') ('\n') 
                          ('  -all-static       do not do any dynamic linking at all\n') ('  -avoid-version    do not add a version suffix if possible\n') 
                          (
'  -bindir BINDIR    specify path to binaries directory (for systems where\n'
                          ) ('                    libraries must be found in the PATH setting at runtime)\n') 
                          ('  -dlopen FILE      ') (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'
                          ) ('  -Wc,FLAG\n') ('  -Xcompiler FLAG   pass linker-specific FLAG directly to the compiler\n') 
                          ('  -Wl,FLAG\n') ('  -Xlinker FLAG     pass linker-specific FLAG directly to the linker\n') 
                          (
'  -XCClinker FLAG   pass link-specific FLAG to the compiler driver (CC)\n'
                          ) ('\n') ('All other options (arguments beginning with ') 
                          (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: [9027 9028 9133 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: [9137 9138 9164 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(func_fatal_help)} 
                      {
                        (DQ ('invalid operation mode ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$mode') ("'")
                        )
                      }
                    )
                  ]
                  spids: [9168 9169 9182 16777215]
                )
              ]
              spids: [8826 8830 9185]
            )
            (C {(echo)})
            (C {($ VSub_Name '$ECHO')} 
              {
                (DQ ('Try ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                  ($ VSub_Name '$progname') (" --help' for more information about other modes.")
                )
              }
            )
          ]
          spids: [8819]
        )
      spids: [8814 8818]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {($ VSub_Name '$opt_help')}) terminator:<Op_Semi ';'>)]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$opt_help'))} {(Lit_Other '=')} {(Lit_Other ':')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(func_mode_help)})]
                  spids: [16777215 9228]
                )
              ]
              else_action: [
                (Pipeline
                  children: [
                    (BraceGroup
                      children: [
                        (C {(func_help)} {(noexit)})
                        (ForEach
                          iter_name: mode
                          iter_words: [
                            {(compile)}
                            {(link)}
                            {(execute)}
                            {(install)}
                            {(finish)}
                            {(uninstall)}
                            {(clean)}
                          ]
                          do_arg_iter: F
                          body: (DoGroup children:[(C {(func_mode_help)})] spids:[9266 9272])
                          spids: [9250 9264]
                        )
                      ]
                      spids: [9237]
                    )
                    (C {(sed)} {(-n)} {(SQ <'1p; 2,$s/^Usage:/  or: /p'>)})
                  ]
                  negated: F
                )
                (Pipeline
                  children: [
                    (BraceGroup
                      children: [
                        (C {(func_help)} {(noexit)})
                        (ForEach
                          iter_name: mode
                          iter_words: [
                            {(compile)}
                            {(link)}
                            {(execute)}
                            {(install)}
                            {(finish)}
                            {(uninstall)}
                            {(clean)}
                          ]
                          do_arg_iter: F
                          body: 
                            (DoGroup
                              children: [(C {(echo)}) (C {(func_mode_help)})]
                              spids: [9317 9326]
                            )
                          spids: [9301 9315]
                        )
                      ]
                      spids: [9288]
                    )
                    (C {(sed)} 
                      {
                        (SQ <'1d\n'> <'      /^When reporting/,/^Report/{\n'> <'\tH\n'> <'\td\n'> 
                          <'      }\n'> <'      $x\n'> <'      /information about other modes/d\n'> <'      /more detailed .*MODE/d\n'> 
                          <'      s/^Usage:.*--mode=\\([^ ]*\\) .*/Description of \\1 mode:/'>
                        )
                      }
                    )
                  ]
                  negated: F
                )
              ]
              spids: [9234 9349]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_QMark '$?')})
          ]
          spids: [16777215 9212]
        )
      ]
      spids: [16777215 9356]
    )
    (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: [9378]
                )
              ]
              spids: [9378]
            )
            (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: [9442]
                        )
                      ]
                      spids: [9442]
                    )
                    (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: [9485]
                                )
                              ]
                              spids: [9485]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:library_names)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [9488]
                                )
                              ]
                              spids: [9488]
                            )
                            (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 9514]
                                )
                              ]
                              spids: [16777215 9547]
                            )
                            (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: [9565]
                                )
                              ]
                              spids: [9565]
                            )
                            (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: [9590]
                                        )
                                      ]
                                      spids: [9590]
                                    )
                                  ]
                                  spids: [16777215 9587]
                                )
                              ]
                              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 9616]
                                    )
                                  ]
                                  spids: [16777215 9637]
                                )
                              ]
                              spids: [9598 9640]
                            )
                          ]
                          spids: [9452 9454 9643 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: [9670]
                                )
                              ]
                              spids: [9670]
                            )
                          ]
                          spids: [9647 9649 9676 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: [9680 9681 9695 16777215]
                        )
                      ]
                      spids: [9445 9449 9698]
                    )
                    (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: [9707 9717]
                              )
                            }
                          spids: [9706]
                        )
                      ]
                      spids: [9706]
                    )
                    (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: [9730]
                            )
                          ]
                          spids: [9730]
                        )
                      ]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(eval)} {(test)} {(-z)} 
                                  {(EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar '\\$'>
                                    ) ($ VSub_Name '$shlibpath_var') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                  }
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(eval)} 
                              {($ VSub_Name '$shlibpath_var') (Lit_Other '=') 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar '\\$'>
                                ) (dir)
                              }
                            )
                          ]
                          spids: [16777215 9755]
                        )
                      ]
                      else_action: [
                        (C {(eval)} 
                          {($ VSub_Name '$shlibpath_var') (Lit_Other '=') 
                            (EscapedLiteralPart
                              token: <Lit_EscapedChar '\\$'>
                            ) (dir) (Lit_Other ':') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ($ VSub_Name '$shlibpath_var')
                          }
                        )
                      ]
                      spids: [9766 9780]
                    )
                  ]
                  spids: [9417 9783]
                )
              spids: [9413 9415]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_execute_magic)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$magic'))}
                  spids: [9795]
                )
              ]
              spids: [9795]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:args) op:Equal rhs:{(EmptyPart)} spids:[9806])]
              spids: [9806]
            )
            (ForEach
              iter_name: file
              do_arg_iter: T
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$file')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(-) (Lit_Other '*')}
                            {(Lit_Other '*') (.la)}
                            {(Lit_Other '*') (.lo)}
                          ]
                          spids: [9824 9837 9839 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: [9873]
                                        )
                                      ]
                                      spids: [9873]
                                    )
                                  ]
                                  spids: [16777215 9859]
                                )
                                (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: [9911]
                                        )
                                      ]
                                      spids: [9911]
                                    )
                                  ]
                                  spids: [9881 9890]
                                )
                              ]
                              spids: [16777215 9919]
                            )
                          ]
                          spids: [9842 9843 9922 16777215]
                        )
                      ]
                      spids: [9817 9821 9925]
                    )
                    (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: [9939]
                        )
                      ]
                      spids: [9939]
                    )
                  ]
                  spids: [9814 9947]
                )
              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 9979]
                        )
                      ]
                      spids: [16777215 9994]
                    )
                    (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: [10021 10054]
                        )
                      spids: [10007 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: [10062]
                        )
                      ]
                      spids: [10062]
                    )
                  ]
                  spids: [16777215 9965]
                )
              ]
              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 {(echo)} {(DQ ('export ') ($ VSub_Name '$shlibpath_var'))})
                      ]
                      spids: [16777215 10088]
                    )
                  ]
                  spids: [16777215 10113]
                )
                (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$cmd') ($ VSub_Name '$args'))})
                (ControlFlow
                  token: <ControlFlow_Exit exit>
                  arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                )
              ]
              spids: [10070 10129]
            )
          ]
          spids: [9368]
        )
      spids: [9363 9367]
    )
    (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: [10148 10154]
            )
          }
        )
      ]
    )
    (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: [10172]
                )
              ]
              spids: [10172]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:admincmds)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [10178]
                )
              ]
              spids: [10178]
            )
            (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: [10215]
                                )
                              ]
                              spids: [10215]
                            )
                          ]
                          spids: [10212 10223]
                        )
                      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 10250]
                                )
                              ]
                              spids: [16777215 10274]
                            )
                            (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: [10315]
                                            )
                                          ]
                                          spids: [10315]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 10288]
                                )
                              ]
                              spids: [16777215 10324]
                            )
                          ]
                          spids: [10236 10327]
                        )
                      spids: [10232 10234]
                    )
                  ]
                  spids: [16777215 10204]
                )
              ]
              spids: [16777215 10330]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {($ VSub_Name '$opt_silent')})
                (ControlFlow
                  token: <ControlFlow_Exit exit>
                  arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                )
              ]
            )
            (C {(echo)} {(DQ (----------------------------------------------------------------------))})
            (C {(echo)} {(DQ ('Libraries have been installed in:'))})
            (ForEach
              iter_name: libdir
              iter_words: [{($ VSub_Name '$libdirs')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [(C {($ VSub_Name '$ECHO')} {(DQ ('   ') ($ VSub_Name '$libdir'))})]
                  spids: [10371 10382]
                )
              spids: [10367 10369]
            )
            (C {(echo)})
            (C {(echo)} {(DQ ('If you ever happen to want to link against installed libraries'))})
            (C {(echo)} {(DQ ('in a given directory, LIBDIR, you must either use libtool, and'))})
            (C {(echo)} 
              {
                (DQ ('specify the full pathname of the library, or use the ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("-LLIBDIR'")
                )
              }
            )
            (C {(echo)} {(DQ ('flag during linking and do at least one of the following:'))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$shlibpath_var'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (DQ ('   - add LIBDIR to the ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$shlibpath_var') ("' environment variable")
                        )
                      }
                    )
                    (C {(echo)} {(DQ ('     during execution'))})
                  ]
                  spids: [16777215 10429]
                )
              ]
              spids: [16777215 10449]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$runpath_var'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (DQ ('   - add LIBDIR to the ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$runpath_var') ("' environment variable")
                        )
                      }
                    )
                    (C {(echo)} {(DQ ('     during linking'))})
                  ]
                  spids: [16777215 10463]
                )
              ]
              spids: [16777215 10483]
            )
            (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: [10500]
                        )
                      ]
                      spids: [10500]
                    )
                    (C {(eval)} 
                      {
                        (DQ ('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 10497]
                )
              ]
              spids: [16777215 10525]
            )
            (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 10539]
                )
              ]
              spids: [16777215 10550]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-f)} {(/etc/ld.so.conf)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (DQ ('   - have your system administrator add LIBDIR to ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("/etc/ld.so.conf'")
                        )
                      }
                    )
                  ]
                  spids: [16777215 10562]
                )
              ]
              spids: [16777215 10574]
            )
            (C {(echo)})
            (C {(echo)} {(DQ ('See any operating system documentation about shared libraries for'))})
            (Case
              to_match: {($ VSub_Name '$host')}
              arms: [
                (case_arm
                  pat_list: [
                    {(solaris2.) (Lit_Other '[') (6789) (Lit_Other ']')}
                    {(solaris2.1) (Lit_Other '[') (0-9) (Lit_Other ']')}
                  ]
                  action: [
                    (C {(echo)} 
                      {(DQ ('more information, such as the ld(1), crle(1) and ld.so(8) manual'))}
                    )
                    (C {(echo)} {(DQ (pages.))})
                  ]
                  spids: [10595 10604 10621 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(echo)} 
                      {(DQ ('more information, such as the ld(1) and ld.so(8) manual pages.'))}
                    )
                  ]
                  spids: [10624 10625 10635 16777215]
                )
              ]
              spids: [10588 10592 10638]
            )
            (C {(echo)} {(DQ (----------------------------------------------------------------------))})
            (ControlFlow
              token: <ControlFlow_Exit exit>
              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
            )
          ]
          spids: [10166]
        )
      spids: [10161 10165]
    )
    (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: [10669 10675]
            )
          }
        )
      ]
    )
    (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)})
                            (Case
                              to_match: {($ VSub_Name '$nonopt')}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (shtool) (Lit_Other '*')}]
                                  action: [(C {(Lit_Other ':')})]
                                  spids: [10740 10743 10746 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [(C {(false)})]
                                  spids: [10748 10749 10752 16777215]
                                )
                              ]
                              spids: [10734 10738 10754]
                            )
                          ]
                        )
                      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: [10771]
                        )
                      ]
                      spids: [10771]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:arg)
                          op: Equal
                          rhs: {($ VSub_Number '$1')}
                          spids: [10778]
                        )
                      ]
                      spids: [10778]
                    )
                    (C {(shift)})
                  ]
                  spids: [16777215 10757]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:install_prog)
                      op: Equal
                      rhs: {(EmptyPart)}
                      spids: [10788]
                    )
                  ]
                  spids: [10788]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:arg)
                      op: Equal
                      rhs: {($ VSub_Name '$nonopt')}
                      spids: [10791]
                    )
                  ]
                  spids: [10791]
                )
              ]
              spids: [10785 10795]
            )
            (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: [10814]
                )
              ]
              spids: [10814]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_shared_prog)
                  op: Equal
                  rhs: {($ VSub_Name '$install_prog')}
                  spids: [10821]
                )
              ]
              spids: [10821]
            )
            (Case
              to_match: {(DQ (' ') ($ VSub_Name '$install_prog') (' '))}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (Lit_Other '[') 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (/) (Lit_Other ']') (cp) 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (Lit_Other '*')
                    }
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:install_cp)
                          op: Equal
                          rhs: {(Lit_Other ':')}
                          spids: [10847]
                        )
                      ]
                      spids: [10847]
                    )
                  ]
                  spids: [10836 10845 10850 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:install_cp)
                          op: Equal
                          rhs: {(false)}
                          spids: [10856]
                        )
                      ]
                      spids: [10856]
                    )
                  ]
                  spids: [10853 10854 10859 16777215]
                )
              ]
              spids: [10825 10833 10862]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dest) op:Equal rhs:{(EmptyPart)} spids:[10870])]
              spids: [10870]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:files) op:Equal rhs:{(EmptyPart)} spids:[10873])]
              spids: [10873]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:opts) op:Equal rhs:{(EmptyPart)} spids:[10876])]
              spids: [10876]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:prev) op:Equal rhs:{(EmptyPart)} spids:[10879])]
              spids: [10879]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_type)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [10882]
                )
              ]
              spids: [10882]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:isdir) op:Equal rhs:{(no)} spids:[10885])]
              spids: [10885]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:stripme)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [10889]
                )
              ]
              spids: [10889]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:no_mode)
                  op: Equal
                  rhs: {(Lit_Other ':')}
                  spids: [10892]
                )
              ]
              spids: [10892]
            )
            (ForEach
              iter_name: arg
              do_arg_iter: T
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:arg2)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [10904]
                        )
                      ]
                      spids: [10904]
                    )
                    (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: [10921]
                                )
                              ]
                              spids: [10921]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dest)
                                  op: Equal
                                  rhs: {($ VSub_Name '$arg')}
                                  spids: [10929]
                                )
                              ]
                              spids: [10929]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [16777215 10918]
                        )
                      ]
                      spids: [16777215 10936]
                    )
                    (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: [10950]
                                )
                              ]
                              spids: [10950]
                            )
                          ]
                          spids: [10947 10948 10953 16777215]
                        )
                        (case_arm
                          pat_list: [{(-f)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {($ VSub_Name '$install_cp')})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Sentence
                                      child: (C {(Lit_Other ':')})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  spids: [16777215 10965]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:prev)
                                      op: Equal
                                      rhs: {($ VSub_Name '$arg')}
                                      spids: [10973]
                                    )
                                  ]
                                  spids: [10973]
                                )
                              ]
                              spids: [10970 10977]
                            )
                          ]
                          spids: [10956 10957 10980 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: [10995]
                                )
                              ]
                              spids: [10995]
                            )
                          ]
                          spids: [10983 10992 10999 16777215]
                        )
                        (case_arm
                          pat_list: [{(-s)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:stripme)
                                  op: Equal
                                  rhs: {(DQ (' -s'))}
                                  spids: [11006]
                                )
                              ]
                              spids: [11006]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [11002 11003 11015 16777215]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other '*')}]
                          spids: [11018 11020 11023 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$prev'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(DQ (x) ($ VSub_Name '$prev'))} 
                                                      {(Lit_Other '=')} {(x-m)}
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$install_override_mode'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:arg2)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$install_override_mode')}
                                                  spids: [11075]
                                                )
                                              ]
                                              spids: [11075]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:no_mode)
                                                  op: Equal
                                                  rhs: {(false)}
                                                  spids: [11079]
                                                )
                                              ]
                                              spids: [11079]
                                            )
                                          ]
                                          spids: [16777215 11072]
                                        )
                                      ]
                                      spids: [16777215 11083]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [11086]
                                        )
                                      ]
                                      spids: [11086]
                                    )
                                  ]
                                  spids: [16777215 11045]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:dest)
                                      op: Equal
                                      rhs: {($ VSub_Name '$arg')}
                                      spids: [11092]
                                    )
                                  ]
                                  spids: [11092]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Continue continue>
                                )
                              ]
                              spids: [11089 11099]
                            )
                          ]
                          spids: [11026 11027 11102 16777215]
                        )
                      ]
                      spids: [10940 10944 11105]
                    )
                    (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: [11120]
                        )
                      ]
                      spids: [11120]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$arg2'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$arg2'))})]
                          spids: [16777215 11139]
                        )
                      ]
                      spids: [16777215 11149]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:install_shared_prog)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$install_shared_prog') (' ') 
                                ($ VSub_Name '$func_quote_for_eval_result')
                              )
                            }
                          spids: [11152]
                        )
                      ]
                      spids: [11152]
                    )
                  ]
                  spids: [10901 11160]
                )
              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: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$install_override_mode'))})
                            (C {($ VSub_Name '$no_mode')})
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {($ VSub_Name '$install_cp')})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
                          spids: [16777215 11230]
                        )
                      ]
                      else_action: [
                        (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$install_override_mode'))})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:install_shared_prog)
                              op: Equal
                              rhs: 
                                {
                                  (DQ ($ VSub_Name '$install_shared_prog') (' -m ') 
                                    ($ VSub_Name '$func_quote_for_eval_result')
                                  )
                                }
                              spids: [11245]
                            )
                          ]
                          spids: [11245]
                        )
                      ]
                      spids: [11235 11253]
                    )
                  ]
                  spids: [16777215 11222]
                )
              ]
              spids: [16777215 11256]
            )
            (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 11285]
                        )
                      ]
                      else_action: [(C {(func_fatal_help)} {(DQ ('you must specify a destination'))})]
                      spids: [11295 11305]
                    )
                  ]
                  spids: [16777215 11271]
                )
              ]
              spids: [16777215 11308]
            )
            (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: [11330]
                )
              ]
              spids: [11330]
            )
            (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:[11349])]
                  spids: [11349]
                )
              ]
            )
            (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: [11369]
                        )
                      ]
                      spids: [11369]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:destname)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [11375]
                        )
                      ]
                      spids: [11375]
                    )
                  ]
                  spids: [16777215 11366]
                )
              ]
              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: [11395]
                    )
                  ]
                  spids: [11395]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:destname)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name '$func_basename_result'))}
                      spids: [11401]
                    )
                  ]
                  spids: [11401]
                )
                (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: [11378 11445]
            )
            (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: [11455 11472 11474 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: [11500 11502 11504 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: [11507 11508 11520 16777215]
                                )
                              ]
                              spids: [11493 11497 11523]
                            )
                          ]
                          spids: [11490 11526]
                        )
                      spids: [11486 11488]
                    )
                  ]
                  spids: [11477 11478 11529 16777215]
                )
              ]
              spids: [11448 11452 11532]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_install_magic)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$magic'))}
                  spids: [11544]
                )
              ]
              spids: [11544]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:staticlibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [11551]
                )
              ]
              spids: [11551]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:future_libdirs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [11554]
                )
              ]
              spids: [11554]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:current_libdirs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [11557]
                )
              ]
              spids: [11557]
            )
            (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: [11594]
                                )
                              ]
                              spids: [11594]
                            )
                          ]
                          spids: [11584 11587 11602 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: [11635]
                                )
                              ]
                              spids: [11635]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:old_library)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [11638]
                                )
                              ]
                              spids: [11638]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [11641]
                                )
                              ]
                              spids: [11641]
                            )
                            (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: [11686 11693 11695 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: [11701]
                                                )
                                              ]
                                              spids: [11701]
                                            )
                                          ]
                                          spids: [11698 11699 11708 16777215]
                                        )
                                      ]
                                      spids: [11676 11683 11711]
                                    )
                                  ]
                                  spids: [16777215 11673]
                                )
                              ]
                              else_action: [
                                (Case
                                  to_match: {(DQ ($ VSub_Name '$future_libdirs') (' '))}
                                  arms: [
                                    (case_arm
                                      pat_list: [
                                        {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$libdir') (' ')) 
                                          (Lit_Other '*')
                                        }
                                      ]
                                      spids: [11731 11738 11740 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: [11746]
                                            )
                                          ]
                                          spids: [11746]
                                        )
                                      ]
                                      spids: [11743 11744 11753 16777215]
                                    )
                                  ]
                                  spids: [11721 11728 11756]
                                )
                              ]
                              spids: [11714 11759]
                            )
                            (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: [11777]
                                )
                              ]
                              spids: [11777]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dir)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$dir') ($ VSub_Name '$objdir'))}
                                  spids: [11783]
                                )
                              ]
                              spids: [11783]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$relink_command'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:inst_prefix_dir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {(DQ ($ VSub_Name '$destdir'))}
                                                          )
                                                          (C {($ VSub_Name '$SED')} {(-e)} 
                                                            {
                                                              (DQ ('s%') ($ VSub_Name '$libdir') 
                                                                (EscapedLiteralPart
                                                                  token: <Lit_EscapedChar '\\$'>
                                                                ) ('%%')
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [11810 11829]
                                              )
                                            }
                                          spids: [11809]
                                        )
                                      ]
                                      spids: [11809]
                                    )
                                    (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 
                                                                        ($ VSub_Name 
'$relink_command'
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name '$SED')} 
                                                                    {
                                                                      (DQ 
                                                                        (
's%@inst_prefix_dir@%-inst-prefix-dir '
                                                                        ) ($ VSub_Name '$inst_prefix_dir') ('%')
                                                                      )
                                                                    }
                                                                  )
                                                                ]
                                                                negated: F
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [11904 11920]
                                                      )
                                                    }
                                                  spids: [11903]
                                                )
                                              ]
                                              spids: [11903]
                                            )
                                          ]
                                          spids: [16777215 11896]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:relink_command)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {($ VSub_Name '$ECHO')} 
                                                                {
                                                                  (DQ ($ VSub_Name '$relink_command'))
                                                                }
                                                              )
                                                              (C {($ VSub_Name '$SED')} 
                                                                {(DQ ('s%@inst_prefix_dir@%%'))}
                                                              )
                                                            ]
                                                            negated: F
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [11927 11941]
                                                  )
                                                }
                                              spids: [11926]
                                            )
                                          ]
                                          spids: [11926]
                                        )
                                      ]
                                      spids: [11923 11944]
                                    )
                                    (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 11802]
                                )
                              ]
                              spids: [16777215 11975]
                            )
                            (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: [12007]
                                        )
                                      ]
                                      spids: [12007]
                                    )
                                    (C {(shift)})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:srcname)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$realname'))}
                                          spids: [12017]
                                        )
                                      ]
                                      spids: [12017]
                                    )
                                    (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: [12033]
                                            )
                                          ]
                                          spids: [12033]
                                        )
                                      ]
                                    )
                                    (C {(func_show_eval)} 
                                      {
                                        (DQ ($ VSub_Name '$install_shared_prog') (' ') 
                                          ($ VSub_Name '$dir') (/) ($ VSub_Name '$srcname') (' ') ($ VSub_Name '$destdir') (/) ($ VSub_Name '$realname')
                                        )
                                      } {(SQ <'exit $?'>)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tstripme)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$stripme'))}
                                          spids: [12066]
                                        )
                                      ]
                                      spids: [12066]
                                    )
                                    (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: [12111]
                                                        )
                                                      ]
                                                      spids: [12111]
                                                    )
                                                  ]
                                                  spids: [12106 12108 12116 16777215]
                                                )
                                              ]
                                              spids: [12099 12103 12119]
                                            )
                                          ]
                                          spids: [12079 12096 12122 16777215]
                                        )
                                      ]
                                      spids: [12072 12076 12125]
                                    )
                                    (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 12149]
                                        )
                                      ]
                                      spids: [16777215 12167]
                                    )
                                    (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: [12208 12253]
                                                )
                                              spids: [16777215 16777215]
                                            )
                                          ]
                                          spids: [16777215 12184]
                                        )
                                      ]
                                      spids: [16777215 12256]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lib)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$destdir') (/) 
                                                ($ VSub_Name '$realname')
                                              )
                                            }
                                          spids: [12264]
                                        )
                                      ]
                                      spids: [12264]
                                    )
                                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$postinstall_cmds'))} 
                                      {(SQ <'exit $?'>)}
                                    )
                                  ]
                                  spids: [16777215 12004]
                                )
                              ]
                              spids: [16777215 12283]
                            )
                            (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: [12298]
                                )
                              ]
                              spids: [12298]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:instname)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$dir') (/) ($ VSub_Name '$name')) (i)}
                                  spids: [12304]
                                )
                              ]
                              spids: [12304]
                            )
                            (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: [12345]
                                    )
                                  ]
                                  spids: [12345]
                                )
                              ]
                            )
                          ]
                          spids: [11606 11608 12355 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: [12387]
                                        )
                                      ]
                                      spids: [12387]
                                    )
                                  ]
                                  spids: [16777215 12384]
                                )
                              ]
                              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: [12405]
                                    )
                                  ]
                                  spids: [12405]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:destfile)
                                      op: Equal
                                      rhs: 
                                        {(DQ ($ VSub_Name '$destdir') (/) ($ VSub_Name '$destfile'))}
                                      spids: [12411]
                                    )
                                  ]
                                  spids: [12411]
                                )
                              ]
                              spids: [12395 12419]
                            )
                            (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: [12446]
                                        )
                                      ]
                                      spids: [12446]
                                    )
                                  ]
                                  spids: [12434 12436 12450 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: [12459]
                                        )
                                      ]
                                      spids: [12459]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:destfile)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [12465]
                                        )
                                      ]
                                      spids: [12465]
                                    )
                                  ]
                                  spids: [12453 12456 12468 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: [12471 12472 12485 16777215]
                                )
                              ]
                              spids: [12427 12431 12488]
                            )
                            (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: [12555]
                                        )
                                      ]
                                      spids: [12555]
                                    )
                                    (C {(func_show_eval)} 
                                      {
                                        (DQ ($ VSub_Name '$install_prog') (' ') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\$'>
                                          ) ('staticobj ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (staticdest)
                                        )
                                      } {(SQ <'exit $?'>)}
                                    )
                                  ]
                                  spids: [16777215 12541]
                                )
                              ]
                              spids: [16777215 12575]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                            )
                          ]
                          spids: [12359 12361 12583 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: [12609]
                                        )
                                      ]
                                      spids: [12609]
                                    )
                                  ]
                                  spids: [16777215 12606]
                                )
                              ]
                              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: [12627]
                                    )
                                  ]
                                  spids: [12627]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:destfile)
                                      op: Equal
                                      rhs: 
                                        {(DQ ($ VSub_Name '$destdir') (/) ($ VSub_Name '$destfile'))}
                                      spids: [12633]
                                    )
                                  ]
                                  spids: [12633]
                                )
                              ]
                              spids: [12617 12641]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:stripped_ext)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [12657]
                                )
                              ]
                              spids: [12657]
                            )
                            (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: [12704]
                                                )
                                              ]
                                              spids: [12704]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:stripped_ext)
                                                  op: Equal
                                                  rhs: {(DQ (.exe))}
                                                  spids: [12708]
                                                )
                                              ]
                                              spids: [12708]
                                            )
                                          ]
                                          spids: [16777215 12687]
                                        )
                                      ]
                                      spids: [16777215 12714]
                                    )
                                  ]
                                  spids: [12669 12671 12717 16777215]
                                )
                              ]
                              spids: [12662 12666 12720]
                            )
                            (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: [12766]
                                                )
                                              ]
                                              spids: [12766]
                                            )
                                          ]
                                          spids: [16777215 12756]
                                        )
                                      ]
                                      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: [12787]
                                            )
                                          ]
                                          spids: [12787]
                                        )
                                      ]
                                      spids: [12770 12791]
                                    )
                                  ]
                                  spids: [12735 12744 12794 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: [12801]
                                        )
                                      ]
                                      spids: [12801]
                                    )
                                  ]
                                  spids: [12797 12798 12805 16777215]
                                )
                              ]
                              spids: [12728 12732 12808]
                            )
                            (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: [12823]
                                        )
                                      ]
                                      spids: [12823]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [12826]
                                        )
                                      ]
                                      spids: [12826]
                                    )
                                    (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: [12865]
                                        )
                                      ]
                                      spids: [12865]
                                    )
                                    (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: [12885]
                                                )
                                              ]
                                              spids: [12885]
                                            )
                                            (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 12899]
                                                )
                                              ]
                                              spids: [16777215 12909]
                                            )
                                            (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 ($ VSub_Name '$lib'))}
                                                                  )
                                                                  (C {($ VSub_Name '$SED')} 
                                                                    {(SQ <'s%^.*/%%g'>)}
                                                                  )
                                                                ]
                                                                negated: F
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [12917 12931]
                                                      )
                                                    }
                                                  spids: [12912]
                                                )
                                              ]
                                              spids: [12912]
                                            )
                                            (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: [12975]
                                                        )
                                                      ]
                                                      spids: [12975]
                                                    )
                                                  ]
                                                  spids: [16777215 12960]
                                                )
                                              ]
                                              spids: [16777215 12979]
                                            )
                                          ]
                                          spids: [12878 12982]
                                        )
                                      spids: [12874 12876]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [12986]
                                        )
                                      ]
                                      spids: [12986]
                                    )
                                    (C {(func_source)} {(DQ ($ VSub_Name '$wrapper'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:outputname)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [12997]
                                        )
                                      ]
                                      spids: [12997]
                                    )
                                    (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: [13050 13052]
                                                                      )
                                                                    }
                                                                  spids: [13049]
                                                                )
                                                              ]
                                                              spids: [13049]
                                                            )
                                                            (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: [13063]
                                                                )
                                                              ]
                                                              spids: [13063]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:outputname)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$tmpdir') (/) 
                                                                        ($ VSub_Name '$file')
                                                                      )
                                                                    }
                                                                  spids: [13069]
                                                                )
                                                              ]
                                                              spids: [13069]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:relink_command)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (Pipeline
                                                                                children: [
                                                                                  (C 
                                                                                    {
                                                                                      ($ VSub_Name 
'$ECHO'
                                                                                      )
                                                                                    } {(DQ ($ VSub_Name '$relink_command'))}
                                                                                  )
                                                                                  (C 
                                                                                    {
                                                                                      ($ VSub_Name 
'$SED'
                                                                                      )
                                                                                    } {(SQ <'s%@OUTPUT@%'>) (DQ ($ VSub_Name '$outputname')) (SQ <'%g'>)}
                                                                                  )
                                                                                ]
                                                                                negated: F
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick '`'>
                                                                        spids: [13082 13102]
                                                                      )
                                                                    }
                                                                  spids: [13081]
                                                                )
                                                              ]
                                                              spids: [13081]
                                                            )
                                                            (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: [13110]
                                                                )
                                                              ]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(eval)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
'$relink_command'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [(C {(Lit_Other ':')})]
                                                                  spids: [16777215 13140]
                                                                )
                                                              ]
                                                              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: [13145 13175]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:file)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$outputname'))
                                                                    }
                                                                  spids: [13178]
                                                                )
                                                              ]
                                                              spids: [13178]
                                                            )
                                                          ]
                                                          spids: [16777215 13046]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (C {(func_warning)} 
                                                          {
                                                            (DQ ('cannot relink ') 
                                                              (EscapedLiteralPart
                                                                token: <Lit_EscapedChar '\\`'>
                                                              ) ($ VSub_Name '$file') ("'")
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [13184 13197]
                                                    )
                                                  ]
                                                  spids: [13030]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 13023]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:file)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {($ VSub_Name '$ECHO')} 
                                                                {
                                                                  (DQ ($ VSub_Name '$file') 
                                                                    ($ VSub_Name '$stripped_ext')
                                                                  )
                                                                }
                                                              )
                                                              (C {($ VSub_Name '$SED')} 
                                                                {
                                                                  (DQ ('s%') (Lit_Other '\\') 
                                                                    ('([^/]*') (Lit_Other '\\') (')') (Lit_Other '$') ('%') ($ VSub_Name '$objdir') (/) (Lit_Other '\\') ('1%')
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: F
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [13211 13236]
                                                  )
                                                }
                                              spids: [13210]
                                            )
                                          ]
                                          spids: [13210]
                                        )
                                      ]
                                      spids: [13203 13239]
                                    )
                                  ]
                                  spids: [16777215 12820]
                                )
                              ]
                              spids: [16777215 13242]
                            )
                            (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: [13282 13287 13294 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: [13304]
                                                )
                                              ]
                                              spids: [13304]
                                            )
                                          ]
                                          spids: [13297 13301 13309 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: [13333]
                                                )
                                              ]
                                              spids: [13333]
                                            )
                                          ]
                                          spids: [13312 13316 13337 16777215]
                                        )
                                      ]
                                      spids: [13273 13279 13340]
                                    )
                                  ]
                                  spids: [13263 13270 13343 16777215]
                                )
                              ]
                              spids: [13254 13260 13346]
                            )
                            (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 13381]
                                    )
                                  ]
                                  spids: [16777215 13394]
                                )
                              ]
                            )
                          ]
                          spids: [12587 12588 13397 16777215]
                        )
                      ]
                      spids: [11577 11581 13400]
                    )
                  ]
                  spids: [11569 13403]
                )
              spids: [11565 11567]
            )
            (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: [13426]
                        )
                      ]
                      spids: [13426]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlib)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$destdir') (/) ($ VSub_Name '$name'))}
                          spids: [13437]
                        )
                      ]
                      spids: [13437]
                    )
                    (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 13484]
                        )
                      ]
                      spids: [16777215 13500]
                    )
                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$old_postinstall_cmds'))} 
                      {(SQ <'exit $?'>)}
                    )
                  ]
                  spids: [13416 13519]
                )
              spids: [13412 13414]
            )
            (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: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$current_libdirs'))})
                            (C {($ VSub_Name '$opt_finish')})
                          ]
                        )
                      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: [13574]
                            )
                          ]
                          spids: [13574]
                        )
                      ]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:exec_cmd)
                          op: Equal
                          rhs: {(SQ <'$SHELL $progpath $preserve_args --finish$current_libdirs'>)}
                          spids: [13581]
                        )
                      ]
                      spids: [13581]
                    )
                  ]
                  spids: [16777215 13563]
                )
              ]
              else_action: [
                (ControlFlow
                  token: <ControlFlow_Exit exit>
                  arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                )
              ]
              spids: [13587 13595]
            )
          ]
          spids: [10687]
        )
      spids: [10682 10686]
    )
    (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: [13614 13620]
            )
          }
        )
      ]
    )
    (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: [13644]
                )
              ]
              spids: [13644]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_originator)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$2'))}
                  spids: [13650]
                )
              ]
              spids: [13650]
            )
            (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: [13658 13662]
                        )
                      )
                    }
                  spids: [13656]
                )
              ]
              spids: [13656]
            )
            (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: [13667 13681]
                      )
                    }
                  spids: [13666]
                )
              ]
              spids: [13666]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_dlsyms)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [13684]
                )
              ]
              spids: [13684]
            )
            (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: [13740]
                                )
                              ]
                              spids: [13740]
                            )
                          ]
                          spids: [16777215 13737]
                        )
                      ]
                      else_action: [
                        (C {(func_error)} 
                          {(DQ ('not configured to extract global symbols from dlpreopened files'))}
                        )
                      ]
                      spids: [13749 13759]
                    )
                  ]
                  spids: [16777215 13713]
                )
              ]
              spids: [16777215 13762]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$my_dlsyms'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Case
                      to_match: {($ VSub_Name '$my_dlsyms')}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ )}]
                          spids: [16777215 13789 13791 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: [13803]
                                )
                              ]
                              spids: [13803]
                            )
                            (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') 
                                        (
'#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))\n'
                                        ) ('#pragma GCC diagnostic ignored ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                        (-Wstrict-prototypes) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('#endif\n') ('\n') 
                                        ('/* External symbol declarations for the compiler. */')
                                      )
                                    }
                                  ]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 16777215
                                      arg_word: 
                                        {
                                          (DQ ($ VSub_Name '$output_objdir') (/) 
                                            ($ VSub_Name '$my_dlsyms')
                                          )
                                        }
                                      spids: [13855]
                                    )
                                  ]
                                )
                              ]
                            )
                            (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_id: Redir_Great
                                              fd: 16777215
                                              arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                              spids: [13939]
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:progfiles)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {
                                                              (DQ ($ VSub_Name '$objs') 
                                                                ($ VSub_Name '$old_deplibs')
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name '$SP2NL')})
                                                          (C {($ VSub_Name '$SED')} 
                                                            {(DQ ($ VSub_Name '$lo2o'))}
                                                          )
                                                          (C {($ VSub_Name '$NL2SP')})
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [13952 13975]
                                              )
                                            }
                                          spids: [13951]
                                        )
                                      ]
                                      spids: [13951]
                                    )
                                    (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: [13987 14018]
                                        )
                                      spids: [13983 13985]
                                    )
                                    (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: [
                                                    (SimpleCommand
                                                      words: [
                                                        {($ VSub_Name '$EGREP')}
                                                        {(-v)}
                                                        {
                                                          (DQ (' (') ($ VSub_Name '$exclude_expsyms') 
                                                            (')') (Lit_Other '$')
                                                          )
                                                        }
                                                        {(DQ ($ VSub_Name '$nlist'))}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: 16777215
                                                          arg_word: {(DQ ($ VSub_Name '$nlist')) (T)}
                                                          spids: [14058]
                                                        )
                                                      ]
                                                    )
                                                    (C {($ VSub_Name '$MV')} 
                                                      {(DQ ($ VSub_Name '$nlist')) (T)} {(DQ ($ VSub_Name '$nlist'))}
                                                    )
                                                  ]
                                                  spids: [14040]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 14033]
                                        )
                                      ]
                                      spids: [16777215 14081]
                                    )
                                    (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: [
                                                    (SimpleCommand
                                                      words: [
                                                        {($ VSub_Name '$EGREP')}
                                                        {(-e)}
                                                        {(DQ ($ VSub_Name '$export_symbols_regex'))}
                                                        {(DQ ($ VSub_Name '$nlist'))}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: 16777215
                                                          arg_word: {(DQ ($ VSub_Name '$nlist')) (T)}
                                                          spids: [14118]
                                                        )
                                                      ]
                                                    )
                                                    (C {($ VSub_Name '$MV')} 
                                                      {(DQ ($ VSub_Name '$nlist')) (T)} {(DQ ($ VSub_Name '$nlist'))}
                                                    )
                                                  ]
                                                  spids: [14103]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 14096]
                                        )
                                      ]
                                      spids: [16777215 14141]
                                    )
                                    (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: [14163]
                                                )
                                              ]
                                              spids: [14163]
                                            )
                                            (AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (BraceGroup
                                                  children: [
                                                    (C {($ VSub_Name '$RM')} 
                                                      {($ VSub_Name '$export_symbols')}
                                                    )
                                                    (SimpleCommand
                                                      words: [
                                                        {(${ VSub_Name SED)}
                                                        {(-n)}
                                                        {(-e)}
                                                        {(SQ <'/^: @PROGRAM@ $/d'>)}
                                                        {(-e)}
                                                        {(SQ <'s/^.* \\(.*\\)$/\\1/p'>)}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Less
                                                          fd: 16777215
                                                          arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                                          spids: [14202]
                                                        )
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: 16777215
                                                          arg_word: 
                                                            {(DQ ($ VSub_Name '$export_symbols'))}
                                                          spids: [14208]
                                                        )
                                                      ]
                                                    )
                                                    (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: [{(echo)} {(EXPORTS)}]
                                                              redirects: [
                                                                (Redir
                                                                  op_id: Redir_Great
                                                                  fd: 16777215
                                                                  arg_word: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$outputname') (.def)
                                                                      )
                                                                    }
                                                                  spids: [14245]
                                                                )
                                                              ]
                                                            )
                                                            (SimpleCommand
                                                              words: [
                                                                {(cat)}
                                                                {
                                                                  (DQ ($ VSub_Name '$export_symbols'))
                                                                }
                                                              ]
                                                              redirects: [
                                                                (Redir
                                                                  op_id: Redir_DGreat
                                                                  fd: 16777215
                                                                  arg_word: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$outputname') (.def)
                                                                      )
                                                                    }
                                                                  spids: [14261]
                                                                )
                                                              ]
                                                            )
                                                          ]
                                                          spids: [14222 14238 14271 16777215]
                                                        )
                                                      ]
                                                      spids: [14215 14219 14274]
                                                    )
                                                  ]
                                                  spids: [14176]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 14160]
                                        )
                                      ]
                                      else_action: [
                                        (AndOr
                                          ops: [Op_DPipe]
                                          children: [
                                            (C {($ VSub_Name '$opt_dry_run')})
                                            (BraceGroup
                                              children: [
                                                (SimpleCommand
                                                  words: [
                                                    {(${ VSub_Name SED)}
                                                    {(-e)}
                                                    {(SQ <'s/\\([].[*^$]\\)/\\\\\\1/g'>)}
                                                    {(-e)}
                                                    {(SQ <'s/^/ /'>)}
                                                    {(-e)}
                                                    {(SQ <'s/$/$/'>)}
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_Less
                                                      fd: 16777215
                                                      arg_word: {(DQ ($ VSub_Name '$export_symbols'))}
                                                      spids: [14312]
                                                    )
                                                    (Redir
                                                      op_id: Redir_Great
                                                      fd: 16777215
                                                      arg_word: 
                                                        {
                                                          (DQ ($ VSub_Name '$output_objdir') (/) 
                                                            ($ VSub_Name '$outputname') (.exp)
                                                          )
                                                        }
                                                      spids: [14318]
                                                    )
                                                  ]
                                                )
                                                (SimpleCommand
                                                  words: [
                                                    {($ VSub_Name '$GREP')}
                                                    {(-f)}
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$outputname') (.exp)
                                                      )
                                                    }
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_Less
                                                      fd: 16777215
                                                      arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                                      spids: [14339]
                                                    )
                                                    (Redir
                                                      op_id: Redir_Great
                                                      fd: 16777215
                                                      arg_word: {(DQ ($ VSub_Name '$nlist')) (T)}
                                                      spids: [14345]
                                                    )
                                                  ]
                                                )
                                                (C {($ VSub_Name '$MV')} 
                                                  {(DQ ($ VSub_Name '$nlist')) (T)} {(DQ ($ VSub_Name '$nlist'))}
                                                )
                                                (Case
                                                  to_match: {($ VSub_Name '$host')}
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [
                                                        {(Lit_Other '*') (cygwin) (Lit_Other '*')}
                                                        {(Lit_Other '*') (mingw) (Lit_Other '*')}
                                                        {(Lit_Other '*') (cegcc) (Lit_Other '*')}
                                                      ]
                                                      action: [
                                                        (SimpleCommand
                                                          words: [{(echo)} {(EXPORTS)}]
                                                          redirects: [
                                                            (Redir
                                                              op_id: Redir_Great
                                                              fd: 16777215
                                                              arg_word: 
                                                                {
                                                                  (DQ ($ VSub_Name '$output_objdir') 
                                                                    (/) ($ VSub_Name '$outputname') (.def)
                                                                  )
                                                                }
                                                              spids: [14395]
                                                            )
                                                          ]
                                                        )
                                                        (SimpleCommand
                                                          words: [{(cat)} {(DQ ($ VSub_Name '$nlist'))}]
                                                          redirects: [
                                                            (Redir
                                                              op_id: Redir_DGreat
                                                              fd: 16777215
                                                              arg_word: 
                                                                {
                                                                  (DQ ($ VSub_Name '$output_objdir') 
                                                                    (/) ($ VSub_Name '$outputname') (.def)
                                                                  )
                                                                }
                                                              spids: [14411]
                                                            )
                                                          ]
                                                        )
                                                      ]
                                                      spids: [14372 14388 14421 16777215]
                                                    )
                                                  ]
                                                  spids: [14365 14369 14424]
                                                )
                                              ]
                                              spids: [14287]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [14280 14430]
                                    )
                                  ]
                                  spids: [16777215 13915]
                                )
                              ]
                              spids: [16777215 14433]
                            )
                            (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: [14466]
                                        )
                                      ]
                                      spids: [14466]
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (BraceGroup
                                          children: [
                                            (SimpleCommand
                                              words: [
                                                {($ VSub_Name '$ECHO')}
                                                {(DQ (': ') ($ VSub_Name '$name') (' '))}
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: 16777215
                                                  arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                                  spids: [14487]
                                                )
                                              ]
                                            )
                                            (C {(eval)} 
                                              {
                                                (DQ ($ VSub_Name '$NM') (' ') 
                                                  ($ VSub_Name '$dlprefile') (' 2>/dev/null | ') ($ VSub_Name '$global_symbol_pipe') (" >> '") ($ VSub_Name '$nlist') ("'")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [14476]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [14446 14511]
                                )
                              spids: [14442 14444]
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (BraceGroup
                                  children: [
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(test)} {(-f)} {(DQ ($ VSub_Name '$nlist'))})
                                        (SimpleCommand
                                          words: [{(Lit_Other ':')}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: 16777215
                                              arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                              spids: [14538]
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$exclude_expsyms'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {($ VSub_Name '$EGREP')}
                                                {(-v)}
                                                {
                                                  (DQ (' (') ($ VSub_Name '$exclude_expsyms') (')') 
                                                    (Lit_Other '$')
                                                  )
                                                }
                                                {(DQ ($ VSub_Name '$nlist'))}
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: 16777215
                                                  arg_word: {(DQ ($ VSub_Name '$nlist')) (T)}
                                                  spids: [14575]
                                                )
                                              ]
                                            )
                                            (C {($ VSub_Name '$MV')} {(DQ ($ VSub_Name '$nlist')) (T)} 
                                              {(DQ ($ VSub_Name '$nlist'))}
                                            )
                                          ]
                                          spids: [16777215 14557]
                                        )
                                      ]
                                      spids: [16777215 14595]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (Pipeline
                                                  children: [
                                                    (SimpleCommand
                                                      words: [
                                                        {($ VSub_Name '$GREP')}
                                                        {(-v)}
                                                        {(DQ ('^: '))}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Less
                                                          fd: 16777215
                                                          arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                                          spids: [14613]
                                                        )
                                                      ]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (SimpleCommand
                                                                  words: [{(sort)} {(-k)} {(3)}]
                                                                  redirects: [
                                                                    (Redir
                                                                      op_id: Redir_Less
                                                                      fd: 16777215
                                                                      arg_word: {(/dev/null)}
                                                                      spids: [14630]
                                                                    )
                                                                    (Redir
                                                                      op_id: Redir_Great
                                                                      fd: 16777215
                                                                      arg_word: {(/dev/null)}
                                                                      spids: [14633]
                                                                    )
                                                                    (Redir
                                                                      op_id: Redir_GreatAnd
                                                                      fd: 2
                                                                      arg_word: {(1)}
                                                                      spids: [14636]
                                                                    )
                                                                  ]
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [(C {(sort)} {(-k)} {(3)})]
                                                          spids: [16777215 14640]
                                                        )
                                                      ]
                                                      else_action: [(C {(sort)} {(Lit_Other '+') (2)})]
                                                      spids: [14650 14659]
                                                    )
                                                    (SimpleCommand
                                                      words: [{(uniq)}]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: 16777215
                                                          arg_word: {(DQ ($ VSub_Name '$nlist')) (S)}
                                                          spids: [14666]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  negated: F
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [(C {(Lit_Other ':')})]
                                          spids: [16777215 14674]
                                        )
                                      ]
                                      else_action: [
                                        (SimpleCommand
                                          words: [{($ VSub_Name '$GREP')} {(-v)} {(DQ ('^: '))}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Less
                                              fd: 16777215
                                              arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                              spids: [14691]
                                            )
                                            (Redir
                                              op_id: Redir_Great
                                              fd: 16777215
                                              arg_word: {(DQ ($ VSub_Name '$nlist')) (S)}
                                              spids: [14697]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [14680 14705]
                                    )
                                    (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 14721]
                                        )
                                      ]
                                      else_action: [
                                        (SimpleCommand
                                          words: [{(echo)} {(SQ <'/* NONE */'>)}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_DGreat
                                              fd: 16777215
                                              arg_word: 
                                                {
                                                  (DQ ($ VSub_Name '$output_objdir') (/) 
                                                    ($ VSub_Name '$my_dlsyms')
                                                  )
                                                }
                                              spids: [14743]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [14734 14752]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {(echo)}
                                        {
                                          (DQ ('\n') 
                                            (
'/* The mapping between symbol names and symbols.  */\n'
                                            ) ('typedef struct {\n') ('  const char *name;\n') ('  void *address;\n') ('} lt_dlsymlist;\n')
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_DGreat
                                          fd: 16777215
                                          arg_word: 
                                            {
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                ($ VSub_Name '$my_dlsyms')
                                              )
                                            }
                                          spids: [14758]
                                        )
                                      ]
                                    )
                                    (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: [
                                                {(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_id: Redir_DGreat
                                                  fd: 16777215
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                  spids: [14805]
                                                )
                                              ]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lt_dlsym_const)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [14821]
                                                )
                                              ]
                                              spids: [14821]
                                            )
                                          ]
                                          spids: [14784 14800 14823 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_id: Redir_DGreat
                                                  fd: 16777215
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                  spids: [14834]
                                                )
                                              ]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lt_dlsym_const)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [14848]
                                                )
                                              ]
                                              spids: [14848]
                                            )
                                          ]
                                          spids: [14826 14829 14850 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: [14857]
                                                )
                                              ]
                                              spids: [14857]
                                            )
                                          ]
                                          spids: [14853 14854 14860 16777215]
                                        )
                                      ]
                                      spids: [14777 14781 14863]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {(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_id: Redir_DGreat
                                          fd: 16777215
                                          arg_word: 
                                            {
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                ($ VSub_Name '$my_dlsyms')
                                              )
                                            }
                                          spids: [14869]
                                        )
                                      ]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name '$need_lib_prefix')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(no)}]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {(eval)}
                                                {
                                                  (DQ 
                                                    ($ VSub_Name '$global_symbol_to_c_name_address')
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Less
                                                  fd: 16777215
                                                  arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                                  spids: [14922]
                                                )
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: 16777215
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                  spids: [14928]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [14912 14913 14937 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {(eval)}
                                                {
                                                  (DQ 
                                                    ($ VSub_Name 
'$global_symbol_to_c_name_address_lib_prefix'
                                                    )
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Less
                                                  fd: 16777215
                                                  arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                                  spids: [14950]
                                                )
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: 16777215
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                  spids: [14956]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [14940 14941 14965 16777215]
                                        )
                                      ]
                                      spids: [14905 14909 14968]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {(echo)}
                                        {
                                          (DQ ('  {0, (void *) 0}\n') ('};\n') ('\n') 
                                            (
'/* This works around a problem in FreeBSD linker */\n'
                                            ) ('#ifdef FREEBSD_WORKAROUND\n') ('static const void *lt_preloaded_setup() {\n') ('  return lt_') 
                                            (${ VSub_Name my_prefix) ('_LTX_preloaded_symbols;\n') ('}\n') ('#endif\n') ('\n') ('#ifdef __cplusplus\n') ('}\n') ('#endif')
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_DGreat
                                          fd: 16777215
                                          arg_word: 
                                            {
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                ($ VSub_Name '$my_dlsyms')
                                              )
                                            }
                                          spids: [14973]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [14519]
                                )
                              ]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:pic_flag_for_symtable)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [15011]
                                )
                              ]
                              spids: [15011]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name '$compile_command') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (DQ (' -static ')) (Lit_Other '*')}]
                                  spids: [15024 15029 15031 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: [15085]
                                                )
                                              ]
                                              spids: [15085]
                                            )
                                          ]
                                          spids: [15065 15082 15092 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: [15103]
                                                )
                                              ]
                                              spids: [15103]
                                            )
                                          ]
                                          spids: [15095 15100 15109 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: [15134]
                                                        )
                                                      ]
                                                      spids: [15134]
                                                    )
                                                  ]
                                                  spids: [16777215 15131]
                                                )
                                              ]
                                              spids: [16777215 15141]
                                            )
                                          ]
                                          spids: [15112 15113 15144 16777215]
                                        )
                                      ]
                                      spids: [15038 15042 15147]
                                    )
                                  ]
                                  spids: [15034 15035 15150 16777215]
                                )
                              ]
                              spids: [15014 15021 15153]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:symtab_cflags)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [15156]
                                )
                              ]
                              spids: [15156]
                            )
                            (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: [15178 15187 15189 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: [15195]
                                                )
                                              ]
                                              spids: [15195]
                                            )
                                          ]
                                          spids: [15192 15193 15202 16777215]
                                        )
                                      ]
                                      spids: [15171 15175 15205]
                                    )
                                  ]
                                  spids: [15168 15208]
                                )
                              spids: [15164 15166]
                            )
                            (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: [15244]
                                )
                              ]
                              spids: [15244]
                            )
                            (Case
                              to_match: {($ VSub_Name '$host')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (cygwin) (Lit_Other '*')}
                                    {(Lit_Other '*') (mingw) (Lit_Other '*')}
                                    {(Lit_Other '*') (cegcc) (Lit_Other '*')}
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-f)} 
                                                  {
                                                    (DQ ($ VSub_Name '$output_objdir') (/) 
                                                      ($ VSub_Name '$my_outputname') (.def)
                                                    )
                                                  }
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:compile_command)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {($ VSub_Name '$ECHO')} 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$compile_command'
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name '$SED')} 
                                                                    {
                                                                      (DQ ('s%@SYMFILE@%') 
                                                                        ($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$my_outputname') ('.def ') ($ VSub_Name '$symfileobj') ('%')
                                                                      )
                                                                    }
                                                                  )
                                                                ]
                                                                negated: F
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [15300 15320]
                                                      )
                                                    }
                                                  spids: [15299]
                                                )
                                              ]
                                              spids: [15299]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_command)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {($ VSub_Name '$ECHO')} 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$finalize_command'
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name '$SED')} 
                                                                    {
                                                                      (DQ ('s%@SYMFILE@%') 
                                                                        ($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$my_outputname') ('.def ') ($ VSub_Name '$symfileobj') ('%')
                                                                      )
                                                                    }
                                                                  )
                                                                ]
                                                                negated: F
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [15324 15344]
                                                      )
                                                    }
                                                  spids: [15323]
                                                )
                                              ]
                                              spids: [15323]
                                            )
                                          ]
                                          spids: [16777215 15296]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:compile_command)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {($ VSub_Name '$ECHO')} 
                                                                {
                                                                  (DQ 
                                                                    ($ VSub_Name '$compile_command')
                                                                  )
                                                                }
                                                              )
                                                              (C {($ VSub_Name '$SED')} 
                                                                {
                                                                  (DQ ('s%@SYMFILE@%') 
                                                                    ($ VSub_Name '$symfileobj') ('%')
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: F
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [15351 15367]
                                                  )
                                                }
                                              spids: [15350]
                                            )
                                          ]
                                          spids: [15350]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:finalize_command)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {($ VSub_Name '$ECHO')} 
                                                                {
                                                                  (DQ 
                                                                    ($ VSub_Name '$finalize_command')
                                                                  )
                                                                }
                                                              )
                                                              (C {($ VSub_Name '$SED')} 
                                                                {
                                                                  (DQ ('s%@SYMFILE@%') 
                                                                    ($ VSub_Name '$symfileobj') ('%')
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: F
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [15371 15387]
                                                  )
                                                }
                                              spids: [15370]
                                            )
                                          ]
                                          spids: [15370]
                                        )
                                      ]
                                      spids: [15347 15390]
                                    )
                                  ]
                                  spids: [15263 15279 15393 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:compile_command)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {(DQ ($ VSub_Name '$compile_command'))}
                                                          )
                                                          (C {($ VSub_Name '$SED')} 
                                                            {
                                                              (DQ ('s%@SYMFILE@%') 
                                                                ($ VSub_Name '$symfileobj') ('%')
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [15401 15417]
                                              )
                                            }
                                          spids: [15400]
                                        )
                                      ]
                                      spids: [15400]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:finalize_command)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {(DQ ($ VSub_Name '$finalize_command'))}
                                                          )
                                                          (C {($ VSub_Name '$SED')} 
                                                            {
                                                              (DQ ('s%@SYMFILE@%') 
                                                                ($ VSub_Name '$symfileobj') ('%')
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [15421 15437]
                                              )
                                            }
                                          spids: [15420]
                                        )
                                      ]
                                      spids: [15420]
                                    )
                                  ]
                                  spids: [15396 15397 15440 16777215]
                                )
                              ]
                              spids: [15256 15260 15443]
                            )
                          ]
                          spids: [13794 13796 15446 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: [15449 15450 15463 16777215]
                        )
                      ]
                      spids: [13780 13784 15466]
                    )
                  ]
                  spids: [16777215 13777]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:compile_command)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$compile_command'))})
                                      (C {($ VSub_Name '$SED')} {(DQ ('s% @SYMFILE@%%'))})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [15490 15504]
                          )
                        }
                      spids: [15489]
                    )
                  ]
                  spids: [15489]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:finalize_command)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {($ VSub_Name '$ECHO')} 
                                        {(DQ ($ VSub_Name '$finalize_command'))}
                                      )
                                      (C {($ VSub_Name '$SED')} {(DQ ('s% @SYMFILE@%%'))})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [15508 15522]
                          )
                        }
                      spids: [15507]
                    )
                  ]
                  spids: [15507]
                )
              ]
              spids: [15469 15525]
            )
          ]
          spids: [13638]
        )
      spids: [13633 13637]
    )
    (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: [15562]
                )
              ]
              spids: [15562]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:win32_fileres)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [{(file)} {(-L)} {($ VSub_Number '$1')}]
                                redirects: [
                                  (Redir
                                    op_id: Redir_Great
                                    fd: 2
                                    arg_word: {(/dev/null)}
                                    spids: [15576]
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [15569 15578]
                      )
                    }
                  spids: [15568]
                )
              ]
              spids: [15568]
            )
            (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: [15603]
                        )
                      ]
                      spids: [15603]
                    )
                  ]
                  spids: [15588 15597 15609 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 {($ VSub_Name '$OBJDUMP')} {(-f)} {(DQ ($ VSub_Number '$1'))})
                                    (SimpleCommand
                                      words: [{($ VSub_Name '$SED')} {(-e)} {(SQ <10q>)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: 2
                                          arg_word: {(/dev/null)}
                                          spids: [15643]
                                        )
                                      ]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {($ VSub_Name '$EGREP')}
                                        {
                                          (SQ 
                                            <
'file format (pe-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
                                            >
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: 16777215
                                          arg_word: {(/dev/null)}
                                          spids: [15655]
                                        )
                                      ]
                                    )
                                  ]
                                  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 {($ VSub_Name '$NM')} {(-f)} {(posix)} {(-A)} 
                                                    {(DQ ($ 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: [15663 15695]
                                      )
                                    }
                                  spids: [15662]
                                )
                              ]
                              spids: [15662]
                            )
                            (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: [15709]
                                        )
                                      ]
                                      spids: [15709]
                                    )
                                  ]
                                  spids: [15705 15707 15713 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: [15719]
                                        )
                                      ]
                                      spids: [15719]
                                    )
                                  ]
                                  spids: [15716 15717 15723 16777215]
                                )
                              ]
                              spids: [15698 15702 15726]
                            )
                          ]
                          spids: [16777215 15659]
                        )
                      ]
                      spids: [16777215 15729]
                    )
                  ]
                  spids: [15612 15617 15732 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: [15741]
                        )
                      ]
                      spids: [15741]
                    )
                  ]
                  spids: [15735 15738 15747 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: [15778]
                                )
                              ]
                              spids: [15778]
                            )
                          ]
                          spids: [15766 15775 15784 16777215]
                        )
                      ]
                      spids: [15759 15763 15787]
                    )
                  ]
                  spids: [15750 15753 15790 16777215]
                )
              ]
              spids: [15581 15585 15793]
            )
            (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$win32_libid_type'))})
          ]
          spids: [15556]
        )
      spids: [15551 15555]
    )
    (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: [15821]
                    )
                  ]
                  spids: [15821]
                )
              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: [15830]
                )
              ]
              spids: [15830]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$lock_old_archive_extraction'))} 
                          {(Lit_Other '=')} {(yes)}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:lockfile)
                          op: Equal
                          rhs: {($ VSub_Name '$f_ex_an_ar_oldlib') (.lock)}
                          spids: [15852]
                        )
                      ]
                      spids: [15852]
                    )
                    (Until
                      cond: [
                        (Sentence
                          child: 
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (SimpleCommand
                                  words: [
                                    {(ln)}
                                    {(DQ ($ VSub_Name '$progpath'))}
                                    {(DQ ($ VSub_Name '$lockfile'))}
                                  ]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [15873]
                                    )
                                  ]
                                )
                              ]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      body: 
                        (DoGroup
                          children: [
                            (C {(func_echo)} 
                              {(DQ ('Waiting for ') ($ VSub_Name '$lockfile') (' to be removed'))}
                            )
                            (C {(sleep)} {(2)})
                          ]
                          spids: [15877 15894]
                        )
                    )
                  ]
                  spids: [16777215 15849]
                )
              ]
              spids: [16777215 15897]
            )
            (C {(func_show_eval)} 
              {
                (DQ ('(cd ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('f_ex_an_ar_dir && ') 
                  ($ VSub_Name '$AR') (' x ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (f_ex_an_ar_oldlib) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (')')
                )
              } {(SQ <'stat=$?; rm -f "$lockfile"; exit $stat'>)}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$lock_old_archive_extraction'))} 
                          {(Lit_Other '=')} {(yes)}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {($ VSub_Name '$opt_dry_run')})
                        (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$lockfile'))})
                      ]
                    )
                  ]
                  spids: [16777215 15935]
                )
              ]
              spids: [16777215 15951]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Subshell
                          child: 
                            (Pipeline
                              children: [
                                (C {($ VSub_Name '$AR')} {(t)} {(DQ ($ VSub_Name '$f_ex_an_ar_oldlib'))})
                                (C {(sort)})
                                (SimpleCommand
                                  words: [{(sort)} {(-uc)}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 16777215
                                      arg_word: {(/dev/null)}
                                      spids: [15975]
                                    )
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 2
                                      arg_word: {(1)}
                                      spids: [15978]
                                    )
                                  ]
                                )
                              ]
                              negated: F
                            )
                          spids: [15956 15980]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(Lit_Other ':')})]
                  spids: [16777215 15983]
                )
              ]
              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: [15989 16002]
            )
          ]
          spids: [15815]
        )
      spids: [15810 15814]
    )
    (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: [16022]
                    )
                  ]
                  spids: [16022]
                )
              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: [16032 16038]
                      )
                    }
                  spids: [16031]
                )
              ]
              spids: [16031]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_oldobjs) op:Equal rhs:{(DQ )} spids:[16041])]
              spids: [16041]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_xlib) op:Equal rhs:{(DQ )} spids:[16046])]
              spids: [16046]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_xabs) op:Equal rhs:{(DQ )} spids:[16051])]
              spids: [16051]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_xdir) op:Equal rhs:{(DQ )} spids:[16056])]
              spids: [16056]
            )
            (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: [16104]
                                )
                              ]
                              spids: [16104]
                            )
                          ]
                          spids: [16085 16102 16109 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: [16116 16118]
                                      ) (DQ (/) ($ VSub_Name '$my_xlib'))
                                    }
                                  spids: [16115]
                                )
                              ]
                              spids: [16115]
                            )
                          ]
                          spids: [16112 16113 16124 16777215]
                        )
                      ]
                      spids: [16078 16082 16127]
                    )
                    (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: [16137]
                        )
                      ]
                      spids: [16137]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_xlib_u)
                          op: Equal
                          rhs: {($ VSub_Name '$my_xlib')}
                          spids: [16143]
                        )
                      ]
                      spids: [16143]
                    )
                    (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: [16185]
                                        )
                                      ]
                                      spids: [16185]
                                    )
                                    (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: [16189]
                                        )
                                      ]
                                      spids: [16189]
                                    )
                                  ]
                                  spids: [16166 16173 16195 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                                  spids: [16198 16199 16203 16777215]
                                )
                              ]
                              spids: [16155 16163 16206]
                            )
                          ]
                          spids: [16152 16209]
                        )
                    )
                    (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: [16212]
                        )
                      ]
                      spids: [16212]
                    )
                    (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: [16220]
                        )
                      ]
                      spids: [16220]
                    )
                    (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: [16270 16272]
                                              )
                                            }
                                          spids: [16269]
                                        )
                                      ]
                                      spids: [16269]
                                    )
                                    (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: [16286]
                                        )
                                      ]
                                      spids: [16286]
                                    )
                                    (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: [16291 16293]
                                              )
                                            }
                                          spids: [16290]
                                        )
                                      ]
                                      spids: [16290]
                                    )
                                    (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: [16297 16303]
                                              )
                                            }
                                          spids: [16296]
                                        )
                                      ]
                                      spids: [16296]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:darwin_arches)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (AndOr
                                                        ops: [Op_DPipe]
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (SimpleCommand
                                                                words: [
                                                                  {($ VSub_Name '$LIPO')}
                                                                  {(-info)}
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name '$darwin_archive')
                                                                    )
                                                                  }
                                                                ]
                                                                redirects: [
                                                                  (Redir
                                                                    op_id: Redir_Great
                                                                    fd: 2
                                                                    arg_word: {(/dev/null)}
                                                                    spids: [16316]
                                                                  )
                                                                ]
                                                              )
                                                              (SimpleCommand
                                                                words: [
                                                                  {($ VSub_Name '$GREP')}
                                                                  {(Architectures)}
                                                                ]
                                                                redirects: [
                                                                  (Redir
                                                                    op_id: Redir_Great
                                                                    fd: 2
                                                                    arg_word: {(/dev/null)}
                                                                    spids: [16325]
                                                                  )
                                                                ]
                                                              )
                                                            ]
                                                            negated: F
                                                          )
                                                          (C {(true)})
                                                        ]
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [16307 16331]
                                              )
                                            }
                                          spids: [16306]
                                        )
                                      ]
                                      spids: [16306]
                                    )
                                    (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: [16349 16365]
                                                      )
                                                    }
                                                  spids: [16348]
                                                )
                                              ]
                                              spids: [16348]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_arch)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [16368]
                                                )
                                              ]
                                              spids: [16368]
                                            )
                                            (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: [16460 16462]
                                                          )
                                                        )
                                                      } {(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: [16390 16499]
                                                )
                                              spids: [16385 16388]
                                            )
                                            (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: [16510 16551]
                                                      )
                                                    }
                                                  spids: [16509]
                                                )
                                              ]
                                              spids: [16509]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_file)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [16554]
                                                )
                                              ]
                                              spids: [16554]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_files)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [16557]
                                                )
                                              ]
                                              spids: [16557]
                                            )
                                            (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: [16573 16588]
                                                              )
                                                            }
                                                          spids: [16572]
                                                        )
                                                      ]
                                                      spids: [16572]
                                                    )
                                                    (C {($ VSub_Name '$LIPO')} {(-create)} {(-output)} 
                                                      {(DQ ($ VSub_Name '$darwin_file'))} {($ VSub_Name '$darwin_files')}
                                                    )
                                                  ]
                                                  spids: [16569 16604]
                                                )
                                              spids: [16565 16567]
                                            )
                                            (C {($ VSub_Name '$RM')} {(-rf)} 
                                              {(unfat-) ($ VSub_Dollar '$$')}
                                            )
                                            (C {(cd)} {(DQ ($ VSub_Name '$darwin_orig_dir'))})
                                          ]
                                          spids: [16777215 16345]
                                        )
                                      ]
                                      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: [16625 16644]
                                    )
                                  ]
                                  spids: [16266]
                                )
                              ]
                            )
                          ]
                          spids: [16244 16247 16656 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (C {(func_extract_an_archive)} {(DQ ($ VSub_Name '$my_xdir'))} 
                              {(DQ ($ VSub_Name '$my_xabs'))}
                            )
                          ]
                          spids: [16659 16660 16674 16777215]
                        )
                      ]
                      spids: [16237 16241 16677]
                    )
                    (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: [16685 16710]
                              )
                            }
                          spids: [16680]
                        )
                      ]
                      spids: [16680]
                    )
                  ]
                  spids: [16071 16713]
                )
              spids: [16067 16069]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_extract_archives_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$my_oldobjs'))}
                  spids: [16717]
                )
              ]
              spids: [16717]
            )
          ]
          spids: [16016]
        )
      spids: [16011 16015]
    )
    (FuncDef
      name: func_emit_wrapper
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_emit_wrapper_arg1)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 1>
                        suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(no)})
                        spids: [16777 16781]
                      )
                    }
                  spids: [16776]
                )
              ]
              spids: [16776]
            )
            (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') ("sed_quote_subst='") ($ VSub_Name '$sed_quote_subst') ("'\n") ('\n') ('# Be Bourne compatible\n') 
                  ('if test -n ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                  ('{ZSH_VERSION+set}') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' && (emulate sh) >/dev/null 2>&1; then\n') 
                  ('  emulate sh\n') ('  NULLCMD=:\n') ('  # Zsh 3.x and 4.x performs word splitting on ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{1+') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('@') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('}, which\n') 
                  ('  # is contrary to our usage.  Disable this feature.\n') ("  alias -g '") (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{1+') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('@') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ("}'='") (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('@') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ("'\n") ('  setopt NO_GLOB_SUBST\n') ('else\n') 
                  ('  case ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('(set -o) 2>/dev/null') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (' in *posix*) set -o posix;; esac\n') ('fi\n') ('BIN_SH=xpg4; export BIN_SH # for Tru64\n') 
                  ('DUALCASE=1; export DUALCASE # for MKS sh\n') ('\n') ('# The HP-UX ksh and POSIX shell print the target directory to stdout\n') 
                  ('# if CDPATH is set.\n') ('(unset CDPATH) >/dev/null 2>&1 && unset CDPATH\n') ('\n') ('relink_command=') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$relink_command') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('\n') 
                  ('# This environment variable determines our operation mode.\n') ('if test ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (libtool_install_magic) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' = ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$magic') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; then\n') 
                  ('  # install mode needs the following variables:\n') ("  generated_by_libtool_version='") ($ VSub_Name '$macro_version') ("'\n") ("  notinst_deplibs='") 
                  ($ VSub_Name '$notinst_deplibs') ("'\n") ('else\n') ('  # When we are sourced in execute mode, ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('file and ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO are already set.\n') 
                  ('  if test ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                  (libtool_execute_magic) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' != ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$magic') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; then\n') ('    file=') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (0) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                )
              }
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:qECHO)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$ECHO'))})
                                  (C {($ VSub_Name '$SED')} {(DQ ($ VSub_Name '$sed_quote_subst'))})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [16919 16933]
                      )
                    }
                  spids: [16918]
                )
              ]
              spids: [16918]
            )
            (C {($ VSub_Name '$ECHO')} 
              {
                (DQ ('\n') ('# A function that is used when there is no print builtin or printf.\n') 
                  ('func_fallback_echo ()\n') ('{\n') ("  eval 'cat <<_LTECHO_EOF\n") (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('1\n') 
                  ("_LTECHO_EOF'\n") ('}\n') ('    ECHO=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$qECHO') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('  fi') ('\n') ('  # Find the directory that this script lives in.\n') ('  thisdir=') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' | ') ($ VSub_Name '$SED') (" 's%/[^/]*") (Lit_Other '$') ("%%'") 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('\n') ('  test ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (x) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (thisdir) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' = ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (x) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' && thisdir=.\n') ('\n') ('  # Follow symbolic links until we get to the real thisdir.\n') ('  file=') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('ls -ld ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' | ') ($ VSub_Name '$SED') 
                  (" -n 's/.*-> //p'") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('\n') ('  while test -n ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; do\n') ('    destdir=') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' | ') ($ VSub_Name '$SED') (" 's%/[^/]*") 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ("%%'") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('\n') ('\n') 
                  ('    # If there was a directory component, then change thisdir.\n') ('    if test ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (x) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (destdir) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' != ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (x) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; then\n') ('      case ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (destdir) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' in\n') ('      [') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('/]* | [A-Za-z]:[') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('/]*) thisdir=') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (destdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ;;\n') ('      *) thisdir=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (thisdir/) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (destdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ;;\n') ('      esac\n') ('    fi\n') ('\n') ('    file=') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' | ') ($ VSub_Name '$SED') (" 's%^.*/%%'") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('\n') 
                  ('    file=') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('ls -ld ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (thisdir/) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (file) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' | ') ($ VSub_Name '$SED') 
                  (" -n 's/.*-> //p'") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('\n') ('  done\n') ('\n') 
                  ("  # Usually 'no', except on cygwin/mingw when embedded into\n") ('  # the cwrapper.\n') ('  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=') ($ VSub_Name '$func_emit_wrapper_arg1') 
                  ('\n') ('  if test ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (WRAPPER_SCRIPT_BELONGS_IN_OBJDIR) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' = ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (yes) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; then\n') ("    # special case for '.'\n") 
                  ('    if test ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                  (thisdir) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' = ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (.) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; then\n') ('      thisdir=') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (pwd) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('\n') ('    fi\n') 
                  ('    # remove .libs from thisdir\n') ('    case ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (thisdir) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' in\n') ('    *[') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('/]') ($ VSub_Name '$objdir') (' ) thisdir=') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (thisdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' | ') ($ VSub_Name '$SED') (" 's%[") (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('/][^') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('/]*') (Lit_Other '$') ("%%'") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (' ;;\n') ('    ') 
                  ($ VSub_Name '$objdir') (' )   thisdir=. ;;\n') ('    esac\n') ('  fi\n') ('\n') 
                  ('  # Try to get the absolute directory name.\n') ('  absdir=') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('cd ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (thisdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' && pwd') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('\n') ('  test -n ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (absdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' && thisdir=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (absdir) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n')
                )
              }
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(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 '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                          (relink_command) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' 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 17204]
                )
              ]
              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: [17416 17436]
            )
            (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 '\\"'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ($ VSub_Name '$shlibpath_var') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' | ') 
                          ($ VSub_Name '$SED') (" 's/::*") (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ("//'") 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('\n') ('\n') ('    export ') ($ VSub_Name '$shlibpath_var') ('\n')
                        )
                      }
                    )
                  ]
                  spids: [16777215 17494]
                )
              ]
              spids: [16777215 17542]
            )
            (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 17561]
                )
              ]
              spids: [16777215 17577]
            )
            (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: [17610 17628 17655 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: [17659 17660 17685 16777215]
                )
              ]
              spids: [17599 17603 17688]
            )
            (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') ('    ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('See the ') ($ VSub_Name '$PACKAGE') 
                  (' documentation for more information.') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' 1>&2\n') ('    exit 1\n') ('  fi\n') (fi)
                )
              }
            )
          ]
          spids: [16773]
        )
      spids: [16768 16772]
    )
    (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: [17824]
                )
              ]
              spids: [17824]
            )
            (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: [17858]
                                )
                              ]
                              spids: [17858]
                            )
                            (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:func_to_host_path_result)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (Subshell
                                                            child: 
                                                              (C {(cmd)} {(//c)} {(echo)} 
                                                                {(DQ ($ VSub_Number '$1'))}
                                                              )
                                                            redirects: [
                                                              (Redir
                                                                op_id: Redir_Great
                                                                fd: 2
                                                                arg_word: {(/dev/null)}
                                                                spids: [17901]
                                                              )
                                                            ]
                                                            spids: [17887 17899]
                                                          )
                                                          (C {($ VSub_Name '$SED')} {(-e)} 
                                                            {(SQ <'s/[ ]*$//'>)} {(-e)} {(DQ ($ VSub_Name '$lt_sed_naive_backslashify'))}
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [17886 17920]
                                              )
                                            }
                                          spids: [17885]
                                        )
                                      ]
                                      spids: [17885]
                                    )
                                  ]
                                  spids: [17871 17875 17923 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_result)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(cygpath)} {(-w)} 
                                                            {(DQ ($ VSub_Number '$1'))}
                                                          )
                                                          (C {($ VSub_Name '$SED')} {(-e)} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
'$lt_sed_naive_backslashify'
                                                                )
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [17934 17953]
                                              )
                                            }
                                          spids: [17933]
                                        )
                                      ]
                                      spids: [17933]
                                    )
                                  ]
                                  spids: [17926 17930 17956 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_id: Redir_Great
                                                            fd: 2
                                                            arg_word: {(/dev/null)}
                                                            spids: [18002]
                                                          )
                                                        ]
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [17993 18004]
                                              )
                                            }
                                          spids: [17992]
                                        )
                                      ]
                                      spids: [17992]
                                    )
                                    (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 {($ VSub_Name '$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: [18036 18053]
                                                      )
                                                    }
                                                  spids: [18035]
                                                )
                                              ]
                                              spids: [18035]
                                            )
                                          ]
                                          spids: [16777215 18032]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:func_to_host_path_result)
                                              op: Equal
                                              rhs: {(EmptyPart)}
                                              spids: [18063]
                                            )
                                          ]
                                          spids: [18063]
                                        )
                                      ]
                                      spids: [18056 18066]
                                    )
                                  ]
                                  spids: [17959 17961 18069 16777215]
                                )
                              ]
                              spids: [17864 17868 18072]
                            )
                            (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 ('  ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                          ($ 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: [18118]
                                        )
                                      ]
                                      spids: [18118]
                                    )
                                  ]
                                  spids: [16777215 18087]
                                )
                              ]
                              spids: [16777215 18124]
                            )
                          ]
                          spids: [17851 17855 18127 16777215]
                        )
                      ]
                      spids: [17844 17848 18130]
                    )
                  ]
                  spids: [16777215 17841]
                )
              ]
              spids: [16777215 18133]
            )
          ]
          spids: [17821]
        )
      spids: [17816 17820]
    )
    (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: [18206]
                )
              ]
              spids: [18206]
            )
            (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: [18240]
                                )
                              ]
                              spids: [18240]
                            )
                            (C {(func_stripname)} {(Lit_Other ':')} {(Lit_Other ':')} 
                              {(DQ ($ VSub_Number '$1'))}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_to_host_pathlist_tmp1)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                  spids: [18269]
                                )
                              ]
                              spids: [18269]
                            )
                            (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:func_to_host_pathlist_result)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (Subshell
                                                            child: 
                                                              (C {(cmd)} {(//c)} {(echo)} 
                                                                {
                                                                  (DQ 
                                                                    ($ VSub_Name 
'$func_to_host_pathlist_tmp1'
                                                                    )
                                                                  )
                                                                }
                                                              )
                                                            redirects: [
                                                              (Redir
                                                                op_id: Redir_Great
                                                                fd: 2
                                                                arg_word: {(/dev/null)}
                                                                spids: [18312]
                                                              )
                                                            ]
                                                            spids: [18298 18310]
                                                          )
                                                          (C {($ VSub_Name '$SED')} {(-e)} 
                                                            {(SQ <'s/[ ]*$//'>)} {(-e)} {(DQ ($ VSub_Name '$lt_sed_naive_backslashify'))}
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [18295 18331]
                                              )
                                            }
                                          spids: [18294]
                                        )
                                      ]
                                      spids: [18294]
                                    )
                                  ]
                                  spids: [18280 18284 18334 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_result)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(cygpath)} {(-w)} {(-p)} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
'$func_to_host_pathlist_tmp1'
                                                                )
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name '$SED')} {(-e)} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
'$lt_sed_naive_backslashify'
                                                                )
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [18345 18366]
                                              )
                                            }
                                          spids: [18344]
                                        )
                                      ]
                                      spids: [18344]
                                    )
                                  ]
                                  spids: [18337 18341 18369 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: [18381]
                                        )
                                      ]
                                      spids: [18381]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_pathlist_oldIFS)
                                          op: Equal
                                          rhs: {($ VSub_Name '$IFS')}
                                          spids: [18386]
                                        )
                                      ]
                                      spids: [18386]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(Lit_Other ':')}
                                          spids: [18390]
                                        )
                                      ]
                                      spids: [18390]
                                    )
                                    (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: [18407]
                                                )
                                              ]
                                              spids: [18407]
                                            )
                                            (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: [18463]
                                                                        )
                                                                      ]
                                                                      spids: [18463]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 18460]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (C {(func_append)} 
                                                                  {(func_to_host_pathlist_result)} {(DQ (';') ($ VSub_Name '$func_to_host_path_result'))}
                                                                )
                                                              ]
                                                              spids: [18469 18482]
                                                            )
                                                          ]
                                                          spids: [16777215 18445]
                                                        )
                                                      ]
                                                      spids: [16777215 18485]
                                                    )
                                                  ]
                                                  spids: [16777215 18423]
                                                )
                                              ]
                                              spids: [16777215 18488]
                                            )
                                          ]
                                          spids: [18404 18491]
                                        )
                                      spids: [18399 18402]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_to_host_pathlist_oldIFS')}
                                          spids: [18494]
                                        )
                                      ]
                                      spids: [18494]
                                    )
                                  ]
                                  spids: [18372 18374 18498 16777215]
                                )
                              ]
                              spids: [18273 18277 18501]
                            )
                            (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 ('  ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                          ($ 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: [18562]
                                        )
                                      ]
                                      spids: [18562]
                                    )
                                    (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: [18569 18586]
                                              )
                                            }
                                          spids: [18568]
                                        )
                                      ]
                                      spids: [18568]
                                    )
                                  ]
                                  spids: [16777215 18515]
                                )
                              ]
                              spids: [16777215 18589]
                            )
                            (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: [18610]
                                        )
                                      ]
                                      spids: [18610]
                                    )
                                  ]
                                  spids: [18605 18608 18617 16777215]
                                )
                              ]
                              spids: [18596 18602 18620]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Number '$1'))}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (Lit_Other ':')}]
                                  action: [
                                    (C {(func_append)} {(func_to_host_pathlist_result)} {(DQ (';'))})
                                  ]
                                  spids: [18632 18635 18646 16777215]
                                )
                              ]
                              spids: [18623 18629 18649]
                            )
                          ]
                          spids: [18233 18237 18652 16777215]
                        )
                      ]
                      spids: [18226 18230 18655]
                    )
                  ]
                  spids: [16777215 18223]
                )
              ]
              spids: [16777215 18658]
            )
          ]
          spids: [18203]
        )
      spids: [18198 18202]
    )
    (FuncDef
      name: func_emit_cwrapperexe_src
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {
                      (DQ ('\n') ('/* ') ($ VSub_Name '$cwrappersource') 
                        (' - temporary wrapper executable for ') ($ VSub_Name '$objdir') (/) ($ VSub_Name '$outputname') ('\n') ('   Generated by ') 
                        ($ VSub_Name '$PROGRAM') (' (GNU ') ($ VSub_Name '$PACKAGE') ($ VSub_Name '$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')
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: T
                  spids: [18688]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {('#ifdef _MSC_VER\n') ('# define _CRT_SECURE_NO_DEPRECATE 1\n') ('#endif\n') 
                      ('#include <stdio.h>\n') ('#include <stdlib.h>\n') ('#ifdef _MSC_VER\n') ('# include <direct.h>\n') ('# include <process.h>\n') 
                      ('# include <io.h>\n') ('#else\n') ('# include <unistd.h>\n') ('# include <stdint.h>\n') ('# ifdef __CYGWIN__\n') 
                      ('#  include <io.h>\n') ('# endif\n') ('#endif\n') ('#include <malloc.h>\n') ('#include <stdarg.h>\n') ('#include <assert.h>\n') 
                      ('#include <string.h>\n') ('#include <ctype.h>\n') ('#include <errno.h>\n') ('#include <fcntl.h>\n') ('#include <sys/stat.h>\n') 
                      ('\n') ('/* declarations of non-ANSI functions */\n') ('#if defined(__MINGW32__)\n') 
                      ('# ifdef __STRICT_ANSI__\n') ('int _putenv (const char *);\n') ('# endif\n') ('#elif defined(__CYGWIN__)\n') 
                      ('# ifdef __STRICT_ANSI__\n') ('char *realpath (const char *, char *);\n') ('int putenv (char *);\n') 
                      ('int setenv (const char *, const char *, int);\n') ('# endif\n') ('/* #elif defined (other platforms) ... */\n') ('#endif\n') ('\n') 
                      ('/* portability defines, excluding path handling macros */\n') ('#if defined(_MSC_VER)\n') ('# define setmode _setmode\n') ('# define stat    _stat\n') 
                      ('# define chmod   _chmod\n') ('# define getcwd  _getcwd\n') ('# define putenv  _putenv\n') ('# define S_IXUSR _S_IEXEC\n') 
                      ('# ifndef _INTPTR_T_DEFINED\n') ('#  define _INTPTR_T_DEFINED\n') ('#  define intptr_t int\n') ('# endif\n') 
                      ('#elif defined(__MINGW32__)\n') ('# define setmode _setmode\n') ('# define stat    _stat\n') ('# define chmod   _chmod\n') 
                      ('# define getcwd  _getcwd\n') ('# define putenv  _putenv\n') ('#elif defined(__CYGWIN__)\n') ('# define HAVE_SETENV\n') 
                      ('# define FOPEN_WB "wb"\n') ('/* #elif defined (other platforms) ... */\n') ('#endif\n') ('\n') ('#if defined(PATH_MAX)\n') 
                      ('# define LT_PATHMAX PATH_MAX\n') ('#elif defined(MAXPATHLEN)\n') ('# define LT_PATHMAX MAXPATHLEN\n') ('#else\n') 
                      ('# define LT_PATHMAX 1024\n') ('#endif\n') ('\n') ('#ifndef S_IXOTH\n') ('# define S_IXOTH 0\n') ('#endif\n') ('#ifndef S_IXGRP\n') 
                      ('# define S_IXGRP 0\n') ('#endif\n') ('\n') ('/* path handling portability macros */\n') ('#ifndef DIR_SEPARATOR\n') 
                      ("# define DIR_SEPARATOR '/'\n") ("# define PATH_SEPARATOR ':'\n") ('#endif\n') ('\n') 
                      (
'#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \\\n'
                      ) ('  defined (__OS2__)\n') ('# define HAVE_DOS_BASED_FILE_SYSTEM\n') ('# define FOPEN_WB "wb"\n') 
                      ('# ifndef DIR_SEPARATOR_2\n') ("#  define DIR_SEPARATOR_2 '\\\\'\n") ('# endif\n') ('# ifndef PATH_SEPARATOR_2\n') 
                      ("#  define PATH_SEPARATOR_2 ';'\n") ('# endif\n') ('#endif\n') ('\n') ('#ifndef DIR_SEPARATOR_2\n') 
                      ('# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)\n') ('#else /* DIR_SEPARATOR_2 */\n') ('# define IS_DIR_SEPARATOR(ch) \\\n') 
                      ('\t(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))\n') ('#endif /* DIR_SEPARATOR_2 */\n') ('\n') ('#ifndef PATH_SEPARATOR_2\n') 
                      ('# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)\n') ('#else /* PATH_SEPARATOR_2 */\n') ('# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)\n') 
                      ('#endif /* PATH_SEPARATOR_2 */\n') ('\n') ('#ifndef FOPEN_WB\n') ('# define FOPEN_WB "w"\n') ('#endif\n') ('#ifndef _O_BINARY\n') 
                      ('# define _O_BINARY 0\n') ('#endif\n') ('\n') ('#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))\n') 
                      ('#define XFREE(stale) do { \\\n') ('  if (stale) { free ((void *) stale); stale = 0; } \\\n') ('} while (0)\n') ('\n') 
                      ('#undef LTWRAPPER_DEBUGPRINTF\n') ('#if defined LT_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_update_exe_path (const char *name, const char *value);\n') ('void lt_update_lib_path (const char *name, const char *value);\n') 
                      ('char **prepare_spawn (char **argv);\n') ('void lt_dump_script (FILE *f);\n')
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: T
                  spids: [18734]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {
                      (DQ ('const char * MAGIC_EXE = ') (Right_DoubleQuote '"') 
                        ($ VSub_Name '$magic_exe') (Right_DoubleQuote '"') (';\n') ('const char * LIB_PATH_VARNAME = ') (Right_DoubleQuote '"') 
                        ($ VSub_Name '$shlibpath_var') (Right_DoubleQuote '"') (';\n')
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: T
                  spids: [18743]
                )
              ]
            )
            (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_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ('const char * LIB_PATH_VALUE   = ') (Right_DoubleQuote '"') 
                                ($ VSub_Name '$func_to_host_pathlist_result') (Right_DoubleQuote '"') (';\n')
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: T
                          spids: [18804]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 18792]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: 16777215
                      body: {('const char * LIB_PATH_VALUE   = "";\n')}
                      do_expansion: False
                      here_end: EOF
                      was_filled: T
                      spids: [18819]
                    )
                  ]
                )
              ]
              spids: [18814 18825]
            )
            (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_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ('const char * EXE_PATH_VARNAME = ') (Right_DoubleQuote '"') (PATH) 
                                (Right_DoubleQuote '"') (';\n') ('const char * EXE_PATH_VALUE   = ') (Right_DoubleQuote '"') 
                                ($ VSub_Name '$func_to_host_pathlist_result') (Right_DoubleQuote '"') (';\n')
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: T
                          spids: [18853]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 18840]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: 16777215
                      body: 
                        {('const char * EXE_PATH_VARNAME = "";\n') 
                          ('const char * EXE_PATH_VALUE   = "";\n')
                        }
                      do_expansion: False
                      here_end: EOF
                      was_filled: T
                      spids: [18873]
                    )
                  ]
                )
              ]
              spids: [18868 18879]
            )
            (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_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ('const char * TARGET_PROGRAM_NAME = ') (Right_DoubleQuote '"') (lt-) 
                                ($ VSub_Name '$outputname') (Right_DoubleQuote '"') ('; /* hopefully, no .exe */\n')
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: T
                          spids: [18901]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 18896]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: 16777215
                      body: 
                        {
                          (DQ ('const char * TARGET_PROGRAM_NAME = ') (Right_DoubleQuote '"') 
                            ($ VSub_Name '$outputname') (Right_DoubleQuote '"') ('; /* hopefully, no .exe */\n')
                          )
                        }
                      do_expansion: True
                      here_end: EOF
                      was_filled: T
                      spids: [18917]
                    )
                  ]
                )
              ]
              spids: [18912 18927]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {('\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') 
                      ('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')
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: T
                  spids: [18934]
                )
              ]
            )
            (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: [18949 18959 18973 16777215]
                )
              ]
              spids: [18940 18946 18976]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {('\t  lt_dump_script (stdout);\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')
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: T
                  spids: [18982]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {
                      (DQ ('  newargz[0] =\n') 
                        ('    XMALLOC (char, (strlen (actual_cwrapper_path) +\n') ('\t\t    strlen (') (Right_DoubleQuote '"') ($ VSub_Name '$objdir') (Right_DoubleQuote '"') 
                        (') + 1 + strlen (actual_cwrapper_name) + 1));\n') ('  strcpy (newargz[0], actual_cwrapper_path);\n') ('  strcat (newargz[0], ') (Right_DoubleQuote '"') 
                        ($ VSub_Name '$objdir') (Right_DoubleQuote '"') (');\n') ('  strcat (newargz[0], ') (Right_DoubleQuote '"') (/) 
                        (Right_DoubleQuote '"') (');\n')
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: T
                  spids: [18991]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {("  /* stop here, and copy so we don't have to do this twice */\n") 
                      ('  tmp_pathspec = xstrdup (newargz[0]);\n') ('\n') ('  /* do NOT want the lt- prefix here, so use actual_cwrapper_name */\n') 
                      ('  strcat (newargz[0], actual_cwrapper_name);\n') ('\n') ('  /* DO want the lt- prefix here if it exists, so use target_name */\n') 
                      ('  lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);\n') ('  XFREE (tmp_pathspec);\n') ('  tmp_pathspec = NULL;\n')
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: T
                  spids: [19017]
                )
              ]
            )
            (Case
              to_match: {($ VSub_Name '$host_os')}
              arms: [
                (case_arm
                  pat_list: [{(mingw) (Lit_Other '*')}]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {('  {\n') ('    char* p;\n') 
                              ("    while ((p = strchr (newargz[0], '\\\\')) != NULL)\n") ('      {\n') ("\t*p = '/';\n") ('      }\n') 
                              ("    while ((p = strchr (lt_argv_zero, '\\\\')) != NULL)\n") ('      {\n') ("\t*p = '/';\n") ('      }\n') ('  }\n')
                            }
                          do_expansion: False
                          here_end: EOF
                          was_filled: T
                          spids: [19038]
                        )
                      ]
                    )
                  ]
                  spids: [19031 19033 19044 16777215]
                )
              ]
              spids: [19024 19028 19047]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {('  XFREE (target_name);\n') ('  XFREE (actual_cwrapper_path);\n') 
                      ('  XFREE (actual_cwrapper_name);\n') ('\n') ('  lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */\n') 
                      ('  lt_setenv ("DUALCASE", "1");  /* for MSK sh */\n') ('  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], 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')
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: T
                  spids: [19053]
                )
              ]
            )
            (Case
              to_match: {($ VSub_Name '$host_os')}
              arms: [
                (case_arm
                  pat_list: [{(mingw) (Lit_Other '*')}]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {("  /* execv doesn't actually work on mingw as expected on unix */\n") 
                              ('  newargz = prepare_spawn (newargz);\n') ('  rval = _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')
                            }
                          do_expansion: False
                          here_end: EOF
                          was_filled: T
                          spids: [19074]
                        )
                      ]
                    )
                  ]
                  spids: [19067 19069 19080 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {('  execv (lt_argv_zero, newargz);\n') 
                              ('  return rval; /* =127, but avoids unused variable warning */\n')
                            }
                          do_expansion: False
                          here_end: EOF
                          was_filled: T
                          spids: [19089]
                        )
                      ]
                    )
                  ]
                  spids: [19083 19084 19095 16777215]
                )
              ]
              spids: [19060 19064 19098]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {('}\n') ('\n') ('void *\n') ('xmalloc (size_t num)\n') ('{\n') 
                      ('  void *p = (void *) malloc (num);\n') ('  if (!p)\n') ('    lt_fatal ("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') ('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')
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: T
                  spids: [19104]
                )
              ]
            )
            (Case
              to_match: {($ VSub_Name '$host_os')}
              arms: [
                (case_arm
                  pat_list: [{(mingw) (Lit_Other '*')}]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {('\n') ('/* Prepares an argument vector before calling spawn().\n') 
                              (
'   Note that spawn() does not by itself call the command interpreter\n'
                              ) ('     (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :\n') 
                              (
'      ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);\n'
                              ) ('         GetVersionEx(&v);\n') ('         v.dwPlatformId == VER_PLATFORM_WIN32_NT;\n') 
                              ('      }) ? "cmd.exe" : "command.com").\n') ("   Instead it simply concatenates the arguments, separated by ' ', and calls\n") 
                              (
'   CreateProcess().  We must quote the arguments since Win32 CreateProcess()\n'
                              ) ('   interprets characters like \' \', \'\\t\', \'\\\\\', \'"\' (but not \'<\' and \'>\') in a\n') 
                              ('   special way:\n') ('   - Space and tab are interpreted as delimiters. They are not treated as\n') 
                              ('     delimiters if they are surrounded by double quotes: "...".\n') ('   - Unescaped double quotes are removed from the input. Their only effect is\n') 
                              (
'     that within double quotes, space and tab are treated like normal\n'
                              ) ('     characters.\n') ('   - Backslashes not followed by double quotes are not special.\n') 
                              ('   - But 2*n+1 backslashes followed by a double quote become\n') ('     n backslashes followed by a double quote (n >= 0):\n') ('       \\" -> "\n') 
                              ('       \\\\\\" -> \\"\n') ('       \\\\\\\\\\" -> \\\\"\n') (' */\n') 
                              (
'#define SHELL_SPECIAL_CHARS "\\"\\\\ \\001\\002\\003\\004\\005\\006\\007\\010\\011\\012\\013\\014\\015\\016\\017\\020\\021\\022\\023\\024\\025\\026\\027\\030\\031\\032\\033\\034\\035\\036\\037"\n'
                              ) 
                              (
'#define SHELL_SPACE_CHARS " \\001\\002\\003\\004\\005\\006\\007\\010\\011\\012\\013\\014\\015\\016\\017\\020\\021\\022\\023\\024\\025\\026\\027\\030\\031\\032\\033\\034\\035\\036\\037"\n'
                              ) ('char **\n') ('prepare_spawn (char **argv)\n') ('{\n') ('  size_t argc;\n') ('  char **new_argv;\n') 
                              ('  size_t i;\n') ('\n') ('  /* Count number of arguments.  */\n') ('  for (argc = 0; argv[argc] != NULL; argc++)\n') 
                              ('    ;\n') ('\n') ('  /* Allocate new argument vector.  */\n') ('  new_argv = XMALLOC (char *, argc + 1);\n') 
                              ('\n') ('  /* Put quoted arguments into the new argument vector.  */\n') ('  for (i = 0; i < argc; i++)\n') 
                              ('    {\n') ('      const char *string = argv[i];\n') ('\n') ("      if (string[0] == '\\0')\n") 
                              ('\tnew_argv[i] = xstrdup ("\\"\\"");\n') ('      else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)\n') ('\t{\n') 
                              (
'\t  int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);\n'
                              ) ('\t  size_t length;\n') ('\t  unsigned int backslashes;\n') ('\t  const char *s;\n') 
                              ('\t  char *quoted_string;\n') ('\t  char *p;\n') ('\n') ('\t  length = 0;\n') ('\t  backslashes = 0;\n') ('\t  if (quote_around)\n') 
                              ('\t    length++;\n') ("\t  for (s = string; *s != '\\0'; s++)\n") ('\t    {\n') ('\t      char c = *s;\n') 
                              ('\t      if (c == \'"\')\n') ('\t\tlength += backslashes + 1;\n') ('\t      length++;\n') ("\t      if (c == '\\\\')\n") 
                              ('\t\tbackslashes++;\n') ('\t      else\n') ('\t\tbackslashes = 0;\n') ('\t    }\n') ('\t  if (quote_around)\n') 
                              ('\t    length += backslashes + 1;\n') ('\n') ('\t  quoted_string = XMALLOC (char, length + 1);\n') ('\n') ('\t  p = quoted_string;\n') 
                              ('\t  backslashes = 0;\n') ('\t  if (quote_around)\n') ('\t    *p++ = \'"\';\n') ("\t  for (s = string; *s != '\\0'; s++)\n") 
                              ('\t    {\n') ('\t      char c = *s;\n') ('\t      if (c == \'"\')\n') ('\t\t{\n') ('\t\t  unsigned int j;\n') 
                              ('\t\t  for (j = backslashes + 1; j > 0; j--)\n') ("\t\t    *p++ = '\\\\';\n") ('\t\t}\n') ('\t      *p++ = c;\n') ("\t      if (c == '\\\\')\n") 
                              ('\t\tbackslashes++;\n') ('\t      else\n') ('\t\tbackslashes = 0;\n') ('\t    }\n') ('\t  if (quote_around)\n') ('\t    {\n') 
                              ('\t      unsigned int j;\n') ('\t      for (j = backslashes; j > 0; j--)\n') ("\t\t*p++ = '\\\\';\n") ('\t      *p++ = \'"\';\n') 
                              ('\t    }\n') ("\t  *p = '\\0';\n") ('\n') ('\t  new_argv[i] = quoted_string;\n') ('\t}\n') ('      else\n') 
                              ('\tnew_argv[i] = (char *) string;\n') ('    }\n') ('  new_argv[argc] = NULL;\n') ('\n') ('  return new_argv;\n') ('}\n')
                            }
                          do_expansion: False
                          here_end: EOF
                          was_filled: T
                          spids: [19124]
                        )
                      ]
                    )
                  ]
                  spids: [19117 19119 19130 16777215]
                )
              ]
              spids: [19110 19114 19133]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: {('void lt_dump_script (FILE* f)\n') ('{\n')}
                  do_expansion: False
                  here_end: EOF
                  was_filled: T
                  spids: [19139]
                )
              ]
            )
            (Pipeline
              children: [
                (C {(func_emit_wrapper)} {(yes)})
                (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'s/\\([\\\\"]\\)/\\\\\\1/g'>)} {(-e)} 
                  {(SQ <'s/^/  fputs ("/'>)} {(-e)} {(SQ <'s/$/\\\\n", f);/'>)}
                )
              ]
              negated: F
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: {('}\n')}
                  do_expansion: False
                  here_end: EOF
                  was_filled: T
                  spids: [19178]
                )
              ]
            )
          ]
          spids: [18683]
        )
      spids: [18678 18682]
    )
    (FuncDef
      name: func_win32_import_lib_p
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$opt_debug')})
            (Case
              to_match: 
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (Pipeline
                            children: [
                              (C {(eval)} 
                                {
                                  (DQ ($ VSub_Name '$file_magic_cmd') (' ') 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar '\\"'>
                                    ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (1) 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar '\\"'>
                                    ) (' 2>/dev/null')
                                  )
                                }
                              )
                              (C {($ VSub_Name '$SED')} {(-e)} {(10q)})
                            ]
                            negated: F
                          )
                        ]
                      )
                    left_token: <Left_Backtick '`'>
                    spids: [19208 19228]
                  )
                }
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other '*') (import) (Lit_Other '*')}]
                  action: [(C {(Lit_Other ':')})]
                  spids: [19233 19236 19240 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(C {(false)})]
                  spids: [19243 19244 19248 16777215]
                )
              ]
              spids: [19206 19230 19251]
            )
          ]
          spids: [19200]
        )
      spids: [19195 19199]
    )
    (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: [19356]
                        )
                      ]
                      spids: [19356]
                    )
                  ]
                  spids: [19277 19312 19360 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: [19367]
                        )
                      ]
                      spids: [19367]
                    )
                  ]
                  spids: [19363 19364 19371 16777215]
                )
              ]
              spids: [19270 19274 19374]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_args)
                  op: Equal
                  rhs: {($ VSub_Name '$nonopt')}
                  spids: [19377]
                )
              ]
              spids: [19377]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:base_compile)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$nonopt') (' ') ($ VSub_At '$@'))}
                  spids: [19381]
                )
              ]
              spids: [19381]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_command)
                  op: Equal
                  rhs: {($ VSub_Name '$nonopt')}
                  spids: [19389]
                )
              ]
              spids: [19389]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_command)
                  op: Equal
                  rhs: {($ VSub_Name '$nonopt')}
                  spids: [19393]
                )
              ]
              spids: [19393]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_rpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19398]
                )
              ]
              spids: [19398]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_rpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19401]
                )
              ]
              spids: [19401]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_shlibpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19404]
                )
              ]
              spids: [19404]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_shlibpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19407]
                )
              ]
              spids: [19407]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:convenience)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19410]
                )
              ]
              spids: [19410]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_convenience)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19413]
                )
              ]
              spids: [19413]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:deplibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19416]
                )
              ]
              spids: [19416]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_deplibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19419]
                )
              ]
              spids: [19419]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compiler_flags)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19422]
                )
              ]
              spids: [19422]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:linker_flags)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19425]
                )
              ]
              spids: [19425]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dllsearchpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19428]
                )
              ]
              spids: [19428]
            )
            (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: [19432 19434]
                      )
                    }
                  spids: [19431]
                )
              ]
              spids: [19431]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:inst_prefix_dir)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19437]
                )
              ]
              spids: [19437]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:new_inherited_linker_flags)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19440]
                )
              ]
              spids: [19440]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:avoid_version)
                  op: Equal
                  rhs: {(no)}
                  spids: [19444]
                )
              ]
              spids: [19444]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:bindir)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19448]
                )
              ]
              spids: [19448]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dlfiles)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19451]
                )
              ]
              spids: [19451]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dlprefiles)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19454]
                )
              ]
              spids: [19454]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dlself) op:Equal rhs:{(no)} spids:[19457])]
              spids: [19457]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_dynamic)
                  op: Equal
                  rhs: {(no)}
                  spids: [19461]
                )
              ]
              spids: [19461]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_symbols)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19465]
                )
              ]
              spids: [19465]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_symbols_regex)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19468]
                )
              ]
              spids: [19468]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:generated)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19471]
                )
              ]
              spids: [19471]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libobjs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19474]
                )
              ]
              spids: [19474]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ltlibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19477]
                )
              ]
              spids: [19477]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:module) op:Equal rhs:{(no)} spids:[19480])]
              spids: [19480]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:no_install) op:Equal rhs:{(no)} spids:[19484])]
              spids: [19484]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:objs) op:Equal rhs:{(EmptyPart)} spids:[19488])]
              spids: [19488]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:non_pic_objects)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19491]
                )
              ]
              spids: [19491]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:precious_files_regex)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19494]
                )
              ]
              spids: [19494]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:prefer_static_libs)
                  op: Equal
                  rhs: {(no)}
                  spids: [19497]
                )
              ]
              spids: [19497]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:preload) op:Equal rhs:{(no)} spids:[19501])]
              spids: [19501]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:prev) op:Equal rhs:{(EmptyPart)} spids:[19505])]
              spids: [19505]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:prevarg)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19508]
                )
              ]
              spids: [19508]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:release)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19511]
                )
              ]
              spids: [19511]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:rpath) op:Equal rhs:{(EmptyPart)} spids:[19514])]
              spids: [19514]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:xrpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19517]
                )
              ]
              spids: [19517]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:perm_rpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19520]
                )
              ]
              spids: [19520]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:temp_rpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19523]
                )
              ]
              spids: [19523]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:thread_safe) op:Equal rhs:{(no)} spids:[19526])]
              spids: [19526]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:vinfo) op:Equal rhs:{(EmptyPart)} spids:[19530])]
              spids: [19530]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:vinfo_number) op:Equal rhs:{(no)} spids:[19533])]
              spids: [19533]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:weak_libs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19537]
                )
              ]
              spids: [19537]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:single_module)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name wl) (-single_module))}
                  spids: [19540]
                )
              ]
              spids: [19540]
            )
            (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: [19600]
                                )
                              ]
                              spids: [19600]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [19574 19575 19607 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 19656]
                                        )
                                      ]
                                      spids: [16777215 19666]
                                    )
                                    (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: [19683]
                                                )
                                              ]
                                              spids: [19683]
                                            )
                                          ]
                                          spids: [16777215 19680]
                                        )
                                      ]
                                      spids: [16777215 19687]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [19690]
                                        )
                                      ]
                                      spids: [19690]
                                    )
                                  ]
                                  spids: [19629 19630 19694 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: [19725]
                                                )
                                              ]
                                              spids: [19725]
                                            )
                                          ]
                                          spids: [16777215 19722]
                                        )
                                      ]
                                      spids: [16777215 19729]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(built)}
                                          spids: [19732]
                                        )
                                      ]
                                      spids: [19732]
                                    )
                                  ]
                                  spids: [19697 19698 19736 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: [19767]
                                                )
                                              ]
                                              spids: [19767]
                                            )
                                          ]
                                          spids: [16777215 19764]
                                        )
                                      ]
                                      spids: [16777215 19771]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [19774]
                                        )
                                      ]
                                      spids: [19774]
                                    )
                                  ]
                                  spids: [19739 19740 19778 16777215]
                                )
                              ]
                              spids: [19622 19626 19781]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [19784]
                                )
                              ]
                              spids: [19784]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [19788]
                                )
                              ]
                              spids: [19788]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [19610 19619 19795 16777215]
                        )
                      ]
                      spids: [19567 19571 19798]
                    )
                  ]
                  spids: [19564 19801]
                )
              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: [19819]
                    )
                  ]
                  spids: [19819]
                )
              ]
            )
            (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: [19844]
                        )
                      ]
                      spids: [19844]
                    )
                    (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: [19860]
                        )
                      ]
                      spids: [19860]
                    )
                    (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: [19900 19901 19922 16777215]
                                )
                              ]
                              spids: [19893 19897 19925]
                            )
                            (Case
                              to_match: {($ VSub_Name '$prev')}
                              arms: [
                                (case_arm
                                  pat_list: [{(bindir)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:bindir)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$arg'))}
                                          spids: [19940]
                                        )
                                      ]
                                      spids: [19940]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [19946]
                                        )
                                      ]
                                      spids: [19946]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [19936 19937 19952 16777215]
                                )
                                (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: [19999]
                                                )
                                              ]
                                              spids: [19999]
                                            )
                                          ]
                                          spids: [16777215 19974]
                                        )
                                      ]
                                      spids: [16777215 20003]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name '$arg')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other '*') (.la)} {(Lit_Other '*') (.lo)}]
                                          spids: [20013 20020 20022 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: [20048]
                                                        )
                                                      ]
                                                      spids: [20048]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:export_dynamic)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [20052]
                                                        )
                                                      ]
                                                      spids: [20052]
                                                    )
                                                  ]
                                                  spids: [16777215 20045]
                                                )
                                              ]
                                              spids: [16777215 20056]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [20059]
                                                )
                                              ]
                                              spids: [20059]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [20028 20029 20065 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: [20088]
                                                        )
                                                      ]
                                                      spids: [20088]
                                                    )
                                                  ]
                                                  spids: [16777215 20085]
                                                )
                                                (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: [20121]
                                                        )
                                                      ]
                                                      spids: [20121]
                                                    )
                                                  ]
                                                  spids: [20092 20118]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:dlself)
                                                      op: Equal
                                                      rhs: {(needless)}
                                                      spids: [20128]
                                                    )
                                                  ]
                                                  spids: [20128]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:export_dynamic)
                                                      op: Equal
                                                      rhs: {(yes)}
                                                      spids: [20132]
                                                    )
                                                  ]
                                                  spids: [20132]
                                                )
                                              ]
                                              spids: [20125 20136]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [20139]
                                                )
                                              ]
                                              spids: [20139]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [20068 20069 20145 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: [20168]
                                                        )
                                                      ]
                                                      spids: [20168]
                                                    )
                                                  ]
                                                  spids: [16777215 20165]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:dlprefiles)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$dlprefiles') (' ') 
                                                            ($ VSub_Name '$arg')
                                                          )
                                                        }
                                                      spids: [20179]
                                                    )
                                                  ]
                                                  spids: [20179]
                                                )
                                              ]
                                              spids: [20176 20187]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [20190]
                                                )
                                              ]
                                              spids: [20190]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [20148 20149 20196 16777215]
                                        )
                                      ]
                                      spids: [20006 20010 20199]
                                    )
                                  ]
                                  spids: [19955 19958 20202 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: [20209]
                                        )
                                      ]
                                      spids: [20209]
                                    )
                                    (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: [20237]
                                        )
                                      ]
                                      spids: [20237]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20205 20206 20243 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: [20250]
                                        )
                                      ]
                                      spids: [20250]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [20256]
                                        )
                                      ]
                                      spids: [20256]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20246 20247 20262 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: [20294 20301 20303 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: [20309]
                                                        )
                                                      ]
                                                      spids: [20309]
                                                    )
                                                  ]
                                                  spids: [20306 20307 20321 16777215]
                                                )
                                              ]
                                              spids: [20284 20291 20324]
                                            )
                                          ]
                                          spids: [20276 20281 20327 16777215]
                                        )
                                      ]
                                      spids: [20269 20273 20330]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [20333]
                                        )
                                      ]
                                      spids: [20333]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20265 20266 20339 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: [20346]
                                        )
                                      ]
                                      spids: [20346]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [20352]
                                        )
                                      ]
                                      spids: [20352]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20342 20343 20358 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: [20379]
                                                )
                                              ]
                                              spids: [20379]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:moreargs)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [20383]
                                                )
                                              ]
                                              spids: [20383]
                                            )
                                            (ForEach
                                              iter_name: fil
                                              iter_words: [
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (C {(cat)} {(DQ ($ VSub_Name '$save_arg'))})
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [20392 20398]
                                                  )
                                                }
                                              ]
                                              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: [20407]
                                                        )
                                                      ]
                                                      spids: [20407]
                                                    )
                                                    (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: [20432]
                                                                )
                                                              ]
                                                              spids: [20432]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:non_pic_object)
                                                                  op: Equal
                                                                  rhs: {(EmptyPart)}
                                                                  spids: [20435]
                                                                )
                                                              ]
                                                              spids: [20435]
                                                            )
                                                            (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 20499]
                                                                )
                                                              ]
                                                              spids: [16777215 20512]
                                                            )
                                                            (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: [20534]
                                                                )
                                                              ]
                                                              spids: [20534]
                                                            )
                                                            (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: [20562]
                                                                        )
                                                                      ]
                                                                      spids: [20562]
                                                                    )
                                                                    (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: [
20614
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [20614]
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
prev
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: {(EmptyPart)}
                                                                                          spids: [
20622
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [20622]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Continue continue
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  spids: [
16777215
20611
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              else_action: [
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: prev
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (
dlprefiles
                                                                                          )
                                                                                        }
                                                                                      spids: [20635]
                                                                                    )
                                                                                  ]
                                                                                  spids: [20635]
                                                                                )
                                                                              ]
                                                                              spids: [20628 20639]
                                                                            )
                                                                          ]
                                                                          spids: [16777215 20583]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 20642]
                                                                    )
                                                                    (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: [20670]
                                                                                )
                                                                              ]
                                                                              spids: [20670]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: prev
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(EmptyPart)}
                                                                                  spids: [20678]
                                                                                )
                                                                              ]
                                                                              spids: [20678]
                                                                            )
                                                                          ]
                                                                          spids: [16777215 20663]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 20681]
                                                                    )
                                                                    (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: [20699]
                                                                        )
                                                                      ]
                                                                      spids: [20699]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 20555]
                                                                )
                                                              ]
                                                              spids: [16777215 20705]
                                                            )
                                                            (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: [20734]
                                                                        )
                                                                      ]
                                                                      spids: [20734]
                                                                    )
                                                                    (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: [20783]
                                                                                )
                                                                              ]
                                                                              spids: [20783]
                                                                            )
                                                                          ]
                                                                          spids: [16777215 20780]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 20789]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 20727]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: 
                                                                        (LhsName
                                                                          name: non_pic_object
                                                                        )
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (DQ 
                                                                            ($ VSub_Name 
'$pic_object'
                                                                            )
                                                                          )
                                                                        }
                                                                      spids: [20803]
                                                                    )
                                                                  ]
                                                                  spids: [20803]
                                                                )
                                                                (C {(func_append)} {(non_pic_objects)} 
                                                                  {
                                                                    (DQ (' ') 
                                                                      ($ VSub_Name '$non_pic_object')
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [20792 20819]
                                                            )
                                                          ]
                                                          spids: [16777215 20429]
                                                        )
                                                      ]
                                                      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: [20855]
                                                                    )
                                                                  ]
                                                                  spids: [20855]
                                                                )
                                                                (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: [20869]
                                                                    )
                                                                  ]
                                                                  spids: [20869]
                                                                )
                                                                (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: [20876]
                                                                    )
                                                                  ]
                                                                  spids: [20876]
                                                                )
                                                                (C {(func_append)} {(libobjs)} 
                                                                  {
                                                                    (DQ (' ') 
                                                                      ($ VSub_Name '$pic_object')
                                                                    )
                                                                  }
                                                                )
                                                                (C {(func_append)} {(non_pic_objects)} 
                                                                  {
                                                                    (DQ (' ') 
                                                                      ($ VSub_Name '$non_pic_object')
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [16777215 20834]
                                                            )
                                                          ]
                                                          else_action: [
                                                            (C {(func_fatal_error)} 
                                                              {
                                                                (DQ 
                                                                  (EscapedLiteralPart
                                                                    token: <Lit_EscapedChar '\\`'>
                                                                  ) ($ VSub_Name '$arg') ("' is not a valid libtool object")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [20901 20913]
                                                        )
                                                      ]
                                                      spids: [20822 20916]
                                                    )
                                                  ]
                                                  spids: [20401 20919]
                                                )
                                              spids: [20391 16777215]
                                            )
                                          ]
                                          spids: [16777215 20376]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ('link input file ') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\`'>
                                              ) ($ VSub_Name '$arg') ("' does not exist")
                                            )
                                          }
                                        )
                                      ]
                                      spids: [20922 20935]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg)
                                          op: Equal
                                          rhs: {($ VSub_Name '$save_arg')}
                                          spids: [20938]
                                        )
                                      ]
                                      spids: [20938]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [20942]
                                        )
                                      ]
                                      spids: [20942]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20361 20362 20948 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: [20955]
                                        )
                                      ]
                                      spids: [20955]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [20961]
                                        )
                                      ]
                                      spids: [20961]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20951 20952 20967 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: [20974]
                                        )
                                      ]
                                      spids: [20974]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [20981]
                                        )
                                      ]
                                      spids: [20981]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20970 20971 20987 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: [21009 21026 21028 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {(DQ ('only absolute run-paths are allowed'))}
                                            )
                                          ]
                                          spids: [21031 21032 21042 16777215]
                                        )
                                      ]
                                      spids: [21002 21006 21045]
                                    )
                                    (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: [21074 21081 21083 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: [21089]
                                                        )
                                                      ]
                                                      spids: [21089]
                                                    )
                                                  ]
                                                  spids: [21086 21087 21096 16777215]
                                                )
                                              ]
                                              spids: [21064 21071 21099]
                                            )
                                          ]
                                          spids: [16777215 21061]
                                        )
                                      ]
                                      else_action: [
                                        (Case
                                          to_match: {(DQ ($ VSub_Name '$xrpath') (' '))}
                                          arms: [
                                            (case_arm
                                              pat_list: [
                                                {(Lit_Other '*') 
                                                  (DQ (' ') ($ VSub_Name '$arg') (' ')) (Lit_Other '*')
                                                }
                                              ]
                                              spids: [21115 21122 21124 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: [21130]
                                                    )
                                                  ]
                                                  spids: [21130]
                                                )
                                              ]
                                              spids: [21127 21128 21137 16777215]
                                            )
                                          ]
                                          spids: [21105 21112 21140]
                                        )
                                      ]
                                      spids: [21102 21143]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [21146]
                                        )
                                      ]
                                      spids: [21146]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20990 20995 21152 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: [21159]
                                        )
                                      ]
                                      spids: [21159]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [21165]
                                        )
                                      ]
                                      spids: [21165]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [21155 21156 21171 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: [21178]
                                        )
                                      ]
                                      spids: [21178]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [21186]
                                        )
                                      ]
                                      spids: [21186]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [21174 21175 21192 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: [21199]
                                        )
                                      ]
                                      spids: [21199]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:compiler_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$compiler_flags') (' ') 
                                                ($ VSub_Name '$qarg')
                                              )
                                            }
                                          spids: [21207]
                                        )
                                      ]
                                      spids: [21207]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [21215]
                                        )
                                      ]
                                      spids: [21215]
                                    )
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [21195 21196 21241 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: [21248]
                                        )
                                      ]
                                      spids: [21248]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [21256]
                                        )
                                      ]
                                      spids: [21256]
                                    )
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [21244 21245 21282 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: [21289]
                                        )
                                      ]
                                      spids: [21289]
                                    )
                                    (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: [21297]
                                        )
                                      ]
                                      spids: [21297]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [21306]
                                        )
                                      ]
                                      spids: [21306]
                                    )
                                    (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: [21285 21286 21334 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: [21353]
                                        )
                                      ]
                                      spids: [21353]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [21337 21338 21359 16777215]
                                )
                              ]
                              spids: [19929 19933 21362]
                            )
                          ]
                          spids: [16777215 19890]
                        )
                      ]
                      spids: [16777215 21365]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:prevarg)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$arg'))}
                          spids: [21372]
                        )
                      ]
                      spids: [21372]
                    )
                    (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 21401]
                                )
                              ]
                              spids: [16777215 21428]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21386 21387 21434 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: [21438 21439 21454 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: [21462]
                                )
                              ]
                              spids: [21462]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21458 21459 21469 16777215]
                        )
                        (case_arm
                          pat_list: [{(-bindir)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(bindir)}
                                  spids: [21477]
                                )
                              ]
                              spids: [21477]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21473 21474 21484 16777215]
                        )
                        (case_arm
                          pat_list: [{(-dlopen)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(dlfiles)}
                                  spids: [21492]
                                )
                              ]
                              spids: [21492]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21488 21489 21499 16777215]
                        )
                        (case_arm
                          pat_list: [{(-dlpreopen)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(dlprefiles)}
                                  spids: [21507]
                                )
                              ]
                              spids: [21507]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21503 21504 21514 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: [21522]
                                )
                              ]
                              spids: [21522]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21518 21519 21529 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 21562]
                                )
                              ]
                              spids: [16777215 21572]
                            )
                            (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: [21594]
                                        )
                                      ]
                                      spids: [21594]
                                    )
                                  ]
                                  spids: [16777215 21591]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:prev)
                                      op: Equal
                                      rhs: {(expsyms_regex)}
                                      spids: [21601]
                                    )
                                  ]
                                  spids: [21601]
                                )
                              ]
                              spids: [21598 21605]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21533 21538 21611 16777215]
                        )
                        (case_arm
                          pat_list: [{(-framework)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(framework)}
                                  spids: [21619]
                                )
                              ]
                              spids: [21619]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21615 21616 21626 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: [21634]
                                )
                              ]
                              spids: [21634]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21630 21631 21641 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: [21675 21690 21713 16777215]
                                )
                              ]
                              spids: [21666 21672 21716]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21653 21663 21722 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: [21745]
                                )
                              ]
                              spids: [21745]
                            )
                            (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 21776]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ('need path for ') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\`'>
                                              ) ("-L' option")
                                            )
                                          }
                                        )
                                      ]
                                      spids: [21791 21803]
                                    )
                                  ]
                                  spids: [16777215 21760]
                                )
                              ]
                              spids: [16777215 21806]
                            )
                            (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: [21820 21837 21839 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: [21847 21857]
                                              )
                                            }
                                          spids: [21846]
                                        )
                                      ]
                                      spids: [21846]
                                    )
                                    (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: [21882]
                                        )
                                      ]
                                      spids: [21882]
                                    )
                                  ]
                                  spids: [21842 21843 21888 16777215]
                                )
                              ]
                              spids: [21813 21817 21891]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name '$deplibs') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' -L') ($ VSub_Name '$dir') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  spids: [21904 21911 21913 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: [21920]
                                        )
                                      ]
                                      spids: [21920]
                                    )
                                    (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: [21928]
                                        )
                                      ]
                                      spids: [21928]
                                    )
                                  ]
                                  spids: [21916 21917 21936 16777215]
                                )
                              ]
                              spids: [21894 21901 21939]
                            )
                            (Case
                              to_match: {($ VSub_Name '$host')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-cygwin) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-mingw) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-pw32) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-os2) (Lit_Other '*')}
                                    {(Lit_Other '*') (-cegcc) (Lit_Other '*')}
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:testbindir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {(DQ ($ VSub_Name '$dir'))}
                                                          )
                                                          (C {($ VSub_Name '$SED')} 
                                                            {(SQ <'s*/lib$*/bin*'>)}
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [21988 22002]
                                              )
                                            }
                                          spids: [21987]
                                        )
                                      ]
                                      spids: [21987]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ':') ($ VSub_Name '$dllsearchpath') 
                                          (Lit_Other ':')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (':') ($ VSub_Name '$dir') (':')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [22014 22021 22023 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: [22030]
                                                )
                                              ]
                                              spids: [22030]
                                            )
                                          ]
                                          spids: [22026 22028 22032 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: [22038]
                                                )
                                              ]
                                              spids: [22038]
                                            )
                                          ]
                                          spids: [22035 22036 22044 16777215]
                                        )
                                      ]
                                      spids: [22005 22011 22047]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ':') ($ VSub_Name '$dllsearchpath') 
                                          (Lit_Other ':')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') 
                                              (DQ (':') ($ VSub_Name '$testbindir') (':')) (Lit_Other '*')
                                            }
                                          ]
                                          spids: [22059 22066 22068 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: [22075]
                                                )
                                              ]
                                              spids: [22075]
                                            )
                                          ]
                                          spids: [22071 22073 22077 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: [22083]
                                                )
                                              ]
                                              spids: [22083]
                                            )
                                          ]
                                          spids: [22080 22081 22089 16777215]
                                        )
                                      ]
                                      spids: [22050 22056 22092]
                                    )
                                  ]
                                  spids: [21949 21984 22095 16777215]
                                )
                              ]
                              spids: [21942 21946 22098]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21726 21728 22104 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 '*')}
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-haiku) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                                          spids: [22154 22197 22207 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: [22210 22215 22240 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: [22243 22264 22289 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: [22314]
                                                )
                                              ]
                                              spids: [22314]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [22292 22307 22324 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: [22327 22340 22365 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: [22368 22397 22422 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-linux) 
                                              (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: [22425 22430 22451 16777215]
                                        )
                                      ]
                                      spids: [22147 22151 22454]
                                    )
                                  ]
                                  spids: [16777215 22144]
                                )
                                (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: [22483 22504 22514 16777215]
                                        )
                                      ]
                                      spids: [22476 22480 22517]
                                    )
                                  ]
                                  spids: [22457 22473]
                                )
                              ]
                              spids: [16777215 22520]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$deplibs') (' ') ($ VSub_Name '$arg'))}
                                  spids: [22523]
                                )
                              ]
                              spids: [22523]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22108 22110 22534 16777215]
                        )
                        (case_arm
                          pat_list: [{(-module)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:module)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [22542]
                                )
                              ]
                              spids: [22542]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22538 22539 22549 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: [22573]
                                )
                              ]
                              spids: [22573]
                            )
                            (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: [22601]
                                )
                              ]
                              spids: [22601]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22565 22570 22608 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: [22630]
                                )
                              ]
                              spids: [22630]
                            )
                            (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: [22668 22675 22677 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: [22684]
                                        )
                                      ]
                                      spids: [22684]
                                    )
                                  ]
                                  spids: [22680 22682 22691 16777215]
                                )
                              ]
                              spids: [22658 22665 22694]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22612 22627 22700 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: [22708]
                                )
                              ]
                              spids: [22708]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22704 22705 22720 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: [22728]
                                )
                              ]
                              spids: [22728]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22724 22725 22735 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: [22822]
                                        )
                                      ]
                                      spids: [22822]
                                    )
                                  ]
                                  spids: [22750 22793 22826 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: [22832]
                                        )
                                      ]
                                      spids: [22832]
                                    )
                                  ]
                                  spids: [22829 22830 22835 16777215]
                                )
                              ]
                              spids: [22743 22747 22838]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22739 22740 22844 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: [22852]
                                )
                              ]
                              spids: [22852]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22848 22849 22859 16777215]
                        )
                        (case_arm
                          pat_list: [{(-objectlist)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(objectlist)}
                                  spids: [22867]
                                )
                              ]
                              spids: [22867]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22863 22864 22874 16777215]
                        )
                        (case_arm
                          pat_list: [{(-o)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(output)}
                                  spids: [22881]
                                )
                              ]
                              spids: [22881]
                            )
                          ]
                          spids: [22878 22879 22884 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: [22892]
                                )
                              ]
                              spids: [22892]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22888 22889 22899 16777215]
                        )
                        (case_arm
                          pat_list: [{(-release)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(release)}
                                  spids: [22907]
                                )
                              ]
                              spids: [22907]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22903 22904 22914 16777215]
                        )
                        (case_arm
                          pat_list: [{(-rpath)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(rpath)}
                                  spids: [22922]
                                )
                              ]
                              spids: [22922]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22918 22919 22929 16777215]
                        )
                        (case_arm
                          pat_list: [{(-R)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xrpath)}
                                  spids: [22937]
                                )
                              ]
                              spids: [22937]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22933 22934 22944 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: [22967]
                                )
                              ]
                              spids: [22967]
                            )
                            (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: [22982 22999 23001 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_fatal_error)} 
                                      {(DQ ('only absolute run-paths are allowed'))}
                                    )
                                  ]
                                  spids: [23004 23005 23015 16777215]
                                )
                              ]
                              spids: [22975 22979 23018]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name '$xrpath') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$dir') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  spids: [23031 23038 23040 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: [23046]
                                        )
                                      ]
                                      spids: [23046]
                                    )
                                  ]
                                  spids: [23043 23044 23053 16777215]
                                )
                              ]
                              spids: [23021 23028 23056]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22948 22950 23062 16777215]
                        )
                        (case_arm
                          pat_list: [{(-shared)}]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [23066 23067 23077 16777215]
                        )
                        (case_arm
                          pat_list: [{(-shrext)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(shrext)}
                                  spids: [23085]
                                )
                              ]
                              spids: [23085]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [23081 23082 23092 16777215]
                        )
                        (case_arm
                          pat_list: [{(-static)} {(-static-libtool-libs)}]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [23096 23101 23127 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: [23135]
                                )
                              ]
                              spids: [23135]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [23131 23132 23142 16777215]
                        )
                        (case_arm
                          pat_list: [{(-version-info)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(vinfo)}
                                  spids: [23150]
                                )
                              ]
                              spids: [23150]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [23146 23147 23157 16777215]
                        )
                        (case_arm
                          pat_list: [{(-version-number)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(vinfo)}
                                  spids: [23165]
                                )
                              ]
                              spids: [23165]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:vinfo_number)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [23169]
                                )
                              ]
                              spids: [23169]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [23161 23162 23176 16777215]
                        )
                        (case_arm
                          pat_list: [{(-weak)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(weak)}
                                  spids: [23184]
                                )
                              ]
                              spids: [23184]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [23180 23181 23191 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: [23215]
                                )
                              ]
                              spids: [23215]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [23219]
                                )
                              ]
                              spids: [23219]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$IFS'))}
                                      spids: [23222]
                                    )
                                  ]
                                  spids: [23222]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(SQ <','>)}
                                  spids: [23228]
                                )
                              ]
                              spids: [23228]
                            )
                            (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: [23246]
                                        )
                                      ]
                                      spids: [23246]
                                    )
                                    (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 '$func_quote_for_eval_result')
                                              )
                                            }
                                          spids: [23259]
                                        )
                                      ]
                                      spids: [23259]
                                    )
                                    (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: [23267]
                                        )
                                      ]
                                      spids: [23267]
                                    )
                                  ]
                                  spids: [23243 23275]
                                )
                              spids: [23239 23241]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                  spids: [23278]
                                )
                              ]
                              spids: [23278]
                            )
                            (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: [23298]
                                )
                              ]
                              spids: [23298]
                            )
                          ]
                          spids: [23195 23198 23302 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: [23326]
                                )
                              ]
                              spids: [23326]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [23330]
                                )
                              ]
                              spids: [23330]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$IFS'))}
                                      spids: [23333]
                                    )
                                  ]
                                  spids: [23333]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(SQ <','>)}
                                  spids: [23339]
                                )
                              ]
                              spids: [23339]
                            )
                            (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: [23357]
                                        )
                                      ]
                                      spids: [23357]
                                    )
                                    (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: [23370]
                                        )
                                      ]
                                      spids: [23370]
                                    )
                                    (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: [23379]
                                        )
                                      ]
                                      spids: [23379]
                                    )
                                    (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: [23388]
                                        )
                                      ]
                                      spids: [23388]
                                    )
                                  ]
                                  spids: [23354 23396]
                                )
                              spids: [23350 23352]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                  spids: [23399]
                                )
                              ]
                              spids: [23399]
                            )
                            (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: [23419]
                                )
                              ]
                              spids: [23419]
                            )
                          ]
                          spids: [23306 23309 23423 16777215]
                        )
                        (case_arm
                          pat_list: [{(-Xcompiler)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xcompiler)}
                                  spids: [23431]
                                )
                              ]
                              spids: [23431]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [23427 23428 23438 16777215]
                        )
                        (case_arm
                          pat_list: [{(-Xlinker)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xlinker)}
                                  spids: [23446]
                                )
                              ]
                              spids: [23446]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [23442 23443 23453 16777215]
                        )
                        (case_arm
                          pat_list: [{(-XCClinker)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xcclinker)}
                                  spids: [23461]
                                )
                              ]
                              spids: [23461]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [23457 23458 23468 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: [23488]
                                )
                              ]
                              spids: [23488]
                            )
                          ]
                          spids: [23476 23478 23494 16777215]
                        )
                        (case_arm
                          pat_list: [
                            {(-64)}
                            {(-mips) (Lit_Other '[') (0-9) (Lit_Other ']')}
                            {(-r) (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '[') (0-9) 
                              (Lit_Other ']') (Lit_Other '*')
                            }
                            {(-xarch) (Lit_Other '=') (Lit_Other '*')}
                            {(-xtarget) (Lit_Other '=') (Lit_Other '*')}
                            {(Lit_Other '+') (DA) (Lit_Other '*')}
                            {(Lit_Other '+') (DD) (Lit_Other '*')}
                            {(-q) (Lit_Other '*')}
                            {(-m) (Lit_Other '*')}
                            {(-t) (Lit_Other '[') (45) (Lit_Other ']') (Lit_Other '*')}
                            {(-txscale) (Lit_Other '*')}
                            {(-p)}
                            {(-pg)}
                            {(--coverage)}
                            {(-fprofile-) (Lit_Other '*')}
                            {(-F) (Lit_Other '*')}
                            {(Lit_Other '@') (Lit_Other '*')}
                            {(-tp) (Lit_Other '=') (Lit_Other '*')}
                          ]
                          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: [23620]
                                )
                              ]
                              spids: [23620]
                            )
                            (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: [23646]
                                )
                              ]
                              spids: [23646]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [23542 23610 23657 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: [23682]
                                )
                              ]
                              spids: [23682]
                            )
                          ]
                          spids: [23665 23672 23688 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: [23702]
                                )
                              ]
                              spids: [23702]
                            )
                          ]
                          spids: [23692 23695 23710 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: [23740]
                                        )
                                      ]
                                      spids: [23740]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:non_pic_object)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [23743]
                                        )
                                      ]
                                      spids: [23743]
                                    )
                                    (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 23807]
                                        )
                                      ]
                                      spids: [16777215 23820]
                                    )
                                    (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: [23842]
                                        )
                                      ]
                                      spids: [23842]
                                    )
                                    (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: [23870]
                                                )
                                              ]
                                              spids: [23870]
                                            )
                                            (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: [23922]
                                                                )
                                                              ]
                                                              spids: [23922]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:prev)
                                                                  op: Equal
                                                                  rhs: {(EmptyPart)}
                                                                  spids: [23930]
                                                                )
                                                              ]
                                                              spids: [23930]
                                                            )
                                                            (ControlFlow
                                                              token: <ControlFlow_Continue continue>
                                                            )
                                                          ]
                                                          spids: [16777215 23919]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:prev)
                                                              op: Equal
                                                              rhs: {(dlprefiles)}
                                                              spids: [23943]
                                                            )
                                                          ]
                                                          spids: [23943]
                                                        )
                                                      ]
                                                      spids: [23936 23947]
                                                    )
                                                  ]
                                                  spids: [16777215 23891]
                                                )
                                              ]
                                              spids: [16777215 23950]
                                            )
                                            (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: [23978]
                                                        )
                                                      ]
                                                      spids: [23978]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:prev)
                                                          op: Equal
                                                          rhs: {(EmptyPart)}
                                                          spids: [23986]
                                                        )
                                                      ]
                                                      spids: [23986]
                                                    )
                                                  ]
                                                  spids: [16777215 23971]
                                                )
                                              ]
                                              spids: [16777215 23989]
                                            )
                                            (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: [24007]
                                                )
                                              ]
                                              spids: [24007]
                                            )
                                          ]
                                          spids: [16777215 23863]
                                        )
                                      ]
                                      spids: [16777215 24013]
                                    )
                                    (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: [24042]
                                                )
                                              ]
                                              spids: [24042]
                                            )
                                            (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: [24091]
                                                        )
                                                      ]
                                                      spids: [24091]
                                                    )
                                                  ]
                                                  spids: [16777215 24088]
                                                )
                                              ]
                                              spids: [16777215 24097]
                                            )
                                          ]
                                          spids: [16777215 24035]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:non_pic_object)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$pic_object'))}
                                              spids: [24111]
                                            )
                                          ]
                                          spids: [24111]
                                        )
                                        (C {(func_append)} {(non_pic_objects)} 
                                          {(DQ (' ') ($ VSub_Name '$non_pic_object'))}
                                        )
                                      ]
                                      spids: [24100 24127]
                                    )
                                  ]
                                  spids: [16777215 23737]
                                )
                              ]
                              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: [24163]
                                            )
                                          ]
                                          spids: [24163]
                                        )
                                        (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: [24177]
                                            )
                                          ]
                                          spids: [24177]
                                        )
                                        (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: [24184]
                                            )
                                          ]
                                          spids: [24184]
                                        )
                                        (C {(func_append)} {(libobjs)} 
                                          {(DQ (' ') ($ VSub_Name '$pic_object'))}
                                        )
                                        (C {(func_append)} {(non_pic_objects)} 
                                          {(DQ (' ') ($ VSub_Name '$non_pic_object'))}
                                        )
                                      ]
                                      spids: [16777215 24142]
                                    )
                                  ]
                                  else_action: [
                                    (C {(func_fatal_error)} 
                                      {
                                        (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                          ($ VSub_Name '$arg') ("' is not a valid libtool object")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [24209 24221]
                                )
                              ]
                              spids: [24130 24224]
                            )
                          ]
                          spids: [23714 23716 24227 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: [24241]
                                )
                              ]
                              spids: [24241]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:old_deplibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$old_deplibs') (' ') ($ VSub_Name '$arg'))}
                                  spids: [24249]
                                )
                              ]
                              spids: [24249]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [24231 24234 24260 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: [24294]
                                        )
                                      ]
                                      spids: [24294]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [24302]
                                        )
                                      ]
                                      spids: [24302]
                                    )
                                  ]
                                  spids: [16777215 24287]
                                )
                                (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: [24325]
                                        )
                                      ]
                                      spids: [24325]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [24333]
                                        )
                                      ]
                                      spids: [24333]
                                    )
                                  ]
                                  spids: [24305 24318]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:deplibs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$deplibs') (' ') ($ VSub_Name '$arg'))}
                                      spids: [24339]
                                    )
                                  ]
                                  spids: [24339]
                                )
                              ]
                              spids: [24336 24347]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [24264 24266 24353 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: [24380]
                                )
                              ]
                              spids: [24380]
                            )
                          ]
                          spids: [24361 24362 24386 16777215]
                        )
                      ]
                      spids: [21379 21383 24389]
                    )
                    (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 24411]
                        )
                      ]
                      spids: [16777215 24434]
                    )
                  ]
                  spids: [19841 24437]
                )
            )
            (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)} 
                      {
                        (DQ ('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 24490]
                )
              ]
              spids: [16777215 24523]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:oldlibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [24527]
                )
              ]
              spids: [24527]
            )
            (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: [24541]
                )
              ]
              spids: [24541]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libobjs_save)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$libobjs'))}
                  spids: [24547]
                )
              ]
              spids: [24547]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$shlibpath_var'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(eval)} 
                      {(Lit_VarLike 'shlib_search_path=') 
                        (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (ECHO)
                      } 
                      {(EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                        (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (Lit_LBrace '{') ($ VSub_Name '$shlibpath_var') (Lit_RBrace '}') 
                        (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                      } {(EscapedLiteralPart token:<Lit_EscapedChar '\\|'>)} 
                      {(EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (SED)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (s/) (Lit_Other ':') (/)} 
                      {(/g) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) 
                        (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>)
                      }
                    )
                  ]
                  spids: [16777215 24565]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:shlib_search_path)
                      op: Equal
                      rhs: {(EmptyPart)}
                      spids: [24604]
                    )
                  ]
                  spids: [24604]
                )
              ]
              spids: [24601 24607]
            )
            (C {(eval)} 
              {
                (DQ ('sys_lib_search_path=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  ($ VSub_Name '$sys_lib_search_path_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                )
              }
            )
            (C {(eval)} 
              {
                (DQ ('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: [24645]
                )
              ]
              spids: [24645]
            )
            (C {(func_mkdir_p)} {(DQ ($ VSub_Name '$output_objdir'))})
            (Case
              to_match: {($ VSub_Name '$output')}
              arms: [
                (case_arm
                  pat_list: [{(DQ )}]
                  action: [(C {(func_fatal_help)} {(DQ ('you must specify an output file'))})]
                  spids: [16777215 24677 24687 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: [24695]
                        )
                      ]
                      spids: [24695]
                    )
                  ]
                  spids: [24690 24693 24698 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: [24711]
                        )
                      ]
                      spids: [24711]
                    )
                  ]
                  spids: [24701 24709 24714 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: [24721]
                        )
                      ]
                      spids: [24721]
                    )
                  ]
                  spids: [24717 24719 24724 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:linkmode)
                          op: Equal
                          rhs: {(prog)}
                          spids: [24730]
                        )
                      ]
                      spids: [24730]
                    )
                  ]
                  spids: [24727 24728 24733 16777215]
                )
              ]
              spids: [24668 24672 24739]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:specialdeplibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [24743]
                )
              ]
              spids: [24743]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libs) op:Equal rhs:{(EmptyPart)} spids:[24747])]
              spids: [24747]
            )
            (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: [24798]
                                        )
                                      ]
                                      spids: [24798]
                                    )
                                  ]
                                  spids: [24789 24796 24805 16777215]
                                )
                              ]
                              spids: [24779 24786 24808]
                            )
                          ]
                          spids: [16777215 24776]
                        )
                      ]
                      spids: [16777215 24811]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:libs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$libs') (' ') ($ VSub_Name '$deplib'))}
                          spids: [24814]
                        )
                      ]
                      spids: [24814]
                    )
                  ]
                  spids: [24767 24822]
                )
              spids: [24763 24765]
            )
            (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: [24842]
                        )
                      ]
                      spids: [24842]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pre_post_deps)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [24867]
                        )
                      ]
                      spids: [24867]
                    )
                    (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: [24911]
                                                )
                                              ]
                                              spids: [24911]
                                            )
                                          ]
                                          spids: [24902 24909 24918 16777215]
                                        )
                                      ]
                                      spids: [24892 24899 24921]
                                    )
                                    (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: [24924]
                                        )
                                      ]
                                      spids: [24924]
                                    )
                                  ]
                                  spids: [24889 24932]
                                )
                              spids: [24883 24887]
                            )
                          ]
                          spids: [16777215 24875]
                        )
                      ]
                      spids: [16777215 24935]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pre_post_deps)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [24938]
                        )
                      ]
                      spids: [24938]
                    )
                  ]
                  spids: [16777215 24839]
                )
              ]
              spids: [16777215 24941]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:deplibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [24945]
                )
              ]
              spids: [24945]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:newdependency_libs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [24948]
                )
              ]
              spids: [24948]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:newlib_search_path)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [24951]
                )
              ]
              spids: [24951]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:need_relink) op:Equal rhs:{(no)} spids:[24954])]
              spids: [24954]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:notinst_deplibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [24961]
                )
              ]
              spids: [24961]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:notinst_path)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [24967]
                )
              ]
              spids: [24967]
            )
            (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: [24985]
                        )
                      ]
                      spids: [24985]
                    )
                    (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: [25012 25014 25016 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: [25019 25020 25033 16777215]
                                )
                              ]
                              spids: [25005 25009 25036]
                            )
                          ]
                          spids: [25002 25039]
                        )
                      spids: [24996 25000]
                    )
                  ]
                  spids: [24981 24982 25042 16777215]
                )
                (case_arm
                  pat_list: [{(prog)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_deplibs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [25049]
                        )
                      ]
                      spids: [25049]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_deplibs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [25052]
                        )
                      ]
                      spids: [25052]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:alldeplibs)
                          op: Equal
                          rhs: {(no)}
                          spids: [25055]
                        )
                      ]
                      spids: [25055]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:newdlfiles)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [25059]
                        )
                      ]
                      spids: [25059]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:newdlprefiles)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [25062]
                        )
                      ]
                      spids: [25062]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:passes)
                          op: Equal
                          rhs: {(DQ ('conv scan dlopen dlpreopen link'))}
                          spids: [25065]
                        )
                      ]
                      spids: [25065]
                    )
                  ]
                  spids: [25045 25046 25071 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: [25077]
                        )
                      ]
                      spids: [25077]
                    )
                  ]
                  spids: [25074 25075 25083 16777215]
                )
              ]
              spids: [24974 24978 25086]
            )
            (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: [25138]
                                )
                              ]
                              spids: [25138]
                            )
                            (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: [25153]
                                        )
                                      ]
                                      spids: [25153]
                                    )
                                  ]
                                  spids: [25150 25161]
                                )
                              spids: [25146 25148]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$tmp_deplibs'))}
                                  spids: [25164]
                                )
                              ]
                              spids: [25164]
                            )
                          ]
                          spids: [16777215 25127]
                        )
                      ]
                      spids: [16777215 25170]
                    )
                    (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: [25211]
                                )
                              ]
                              spids: [25211]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [25217]
                                )
                              ]
                              spids: [25217]
                            )
                          ]
                          spids: [16777215 25208]
                        )
                      ]
                      spids: [16777215 25220]
                    )
                    (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: [25249]
                                        )
                                      ]
                                      spids: [25249]
                                    )
                                  ]
                                  spids: [25246 25247 25254 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: [25260]
                                        )
                                      ]
                                      spids: [25260]
                                    )
                                  ]
                                  spids: [25257 25258 25265 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% ') 
                                                ($ VSub_Name '$dependency_libs')
                                              )
                                            }
                                          spids: [25271]
                                        )
                                      ]
                                      spids: [25271]
                                    )
                                  ]
                                  spids: [25268 25269 25278 16777215]
                                )
                              ]
                              spids: [25239 25243 25281]
                            )
                          ]
                          spids: [16777215 25236]
                        )
                      ]
                      spids: [16777215 25284]
                    )
                    (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: [25327]
                                        )
                                      ]
                                      spids: [25327]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name '$lib')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other '*') (.la)}]
                                          action: [(C {(func_source)} {(DQ ($ VSub_Name '$lib'))})]
                                          spids: [25337 25339 25347 16777215]
                                        )
                                      ]
                                      spids: [25330 25334 25350]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name '$dependency_libs')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (C {(func_basename)} {(DQ ($ VSub_Name '$deplib'))})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:deplib_base)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$func_basename_result')}
                                                  spids: [25381]
                                                )
                                              ]
                                              spids: [25381]
                                            )
                                            (Case
                                              to_match: {(DQ (' ') ($ VSub_Name '$weak_libs') (' '))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$deplib_base') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [25396 25403 25405 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: [25411]
                                                        )
                                                      ]
                                                      spids: [25411]
                                                    )
                                                  ]
                                                  spids: [25408 25409 25418 16777215]
                                                )
                                              ]
                                              spids: [25385 25393 25421]
                                            )
                                          ]
                                          spids: [25371 25424]
                                        )
                                      spids: [25367 25369]
                                    )
                                  ]
                                  spids: [25320 25427]
                                )
                              spids: [25316 25318]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$dlprefiles'))}
                                  spids: [25430]
                                )
                              ]
                              spids: [25430]
                            )
                          ]
                          spids: [16777215 25304]
                        )
                      ]
                      spids: [16777215 25436]
                    )
                    (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: [25459]
                                )
                              ]
                              spids: [25459]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [25465]
                                )
                              ]
                              spids: [25465]
                            )
                          ]
                          spids: [16777215 25452]
                        )
                      ]
                      spids: [16777215 25468]
                    )
                    (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: [25484]
                                )
                              ]
                              spids: [25484]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:found)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [25487]
                                )
                              ]
                              spids: [25487]
                            )
                            (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: [25536]
                                                )
                                              ]
                                              spids: [25536]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$finalize_deplibs')
                                                      )
                                                    }
                                                  spids: [25544]
                                                )
                                              ]
                                              spids: [25544]
                                            )
                                          ]
                                          spids: [16777215 25533]
                                        )
                                      ]
                                      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: [25555]
                                            )
                                          ]
                                          spids: [25555]
                                        )
                                        (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: [25590 25597 25599 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: [25606]
                                                            )
                                                          ]
                                                          spids: [25606]
                                                        )
                                                      ]
                                                      spids: [25602 25604 25613 16777215]
                                                    )
                                                  ]
                                                  spids: [25580 25587 25616]
                                                )
                                              ]
                                              spids: [16777215 25577]
                                            )
                                          ]
                                          spids: [16777215 25619]
                                        )
                                      ]
                                      spids: [25552 25622]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [25498 25513 25628 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 25663]
                                        )
                                      ]
                                      spids: [16777215 25677]
                                    )
                                    (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: [25694]
                                        )
                                      ]
                                      spids: [25694]
                                    )
                                    (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: [25714]
                                                )
                                              ]
                                              spids: [25714]
                                            )
                                          ]
                                          spids: [16777215 25711]
                                        )
                                      ]
                                      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: [25731]
                                            )
                                          ]
                                          spids: [25731]
                                        )
                                      ]
                                      spids: [25728 25743]
                                    )
                                    (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: [25780]
                                                        )
                                                      ]
                                                      spids: [25780]
                                                    )
                                                    (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: [25825]
                                                                        )
                                                                      ]
                                                                      spids: [25825]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 25822]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:found)
                                                                      op: Equal
                                                                      rhs: {(no)}
                                                                      spids: [25832]
                                                                    )
                                                                  ]
                                                                  spids: [25832]
                                                                )
                                                              ]
                                                              spids: [25829 25836]
                                                            )
                                                            (ControlFlow
                                                              token: <ControlFlow_Break break>
                                                              arg_word: {(2)}
                                                            )
                                                          ]
                                                          spids: [16777215 25804]
                                                        )
                                                      ]
                                                      spids: [16777215 25844]
                                                    )
                                                  ]
                                                  spids: [25773 25847]
                                                )
                                              spids: [25763 25771]
                                            )
                                          ]
                                          spids: [25755 25850]
                                        )
                                      spids: [25751 25753]
                                    )
                                    (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: [25894]
                                                        )
                                                      ]
                                                      spids: [25894]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:finalize_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$finalize_deplibs')
                                                              )
                                                            }
                                                          spids: [25902]
                                                        )
                                                      ]
                                                      spids: [25902]
                                                    )
                                                  ]
                                                  spids: [16777215 25891]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$deplib') (' ') 
                                                            ($ VSub_Name '$deplibs')
                                                          )
                                                        }
                                                      spids: [25913]
                                                    )
                                                  ]
                                                  spids: [25913]
                                                )
                                                (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: [25933]
                                                        )
                                                      ]
                                                      spids: [25933]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [25910 25941]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [16777215 25867]
                                        )
                                      ]
                                      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: [26016]
                                                                    )
                                                                  ]
                                                                  spids: [26016]
                                                                )
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:old_library)
                                                                      op: Equal
                                                                      rhs: {(EmptyPart)}
                                                                      spids: [26019]
                                                                    )
                                                                  ]
                                                                  spids: [26019]
                                                                )
                                                                (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: [26043]
                                                                            )
                                                                          ]
                                                                          spids: [26043]
                                                                        )
                                                                      ]
                                                                      spids: [26040 26049]
                                                                    )
                                                                  spids: [26034 26038]
                                                                )
                                                                (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: [26076]
                                                                            )
                                                                          ]
                                                                          spids: [26076]
                                                                        )
                                                                        (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: [26094]
                                                                            )
                                                                          ]
                                                                          spids: [26094]
                                                                        )
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: (LhsName name:lib)
                                                                              op: Equal
                                                                              rhs: 
                                                                                {
                                                                                  ($ VSub_Name 
'$ladir'
                                                                                  ) (/) ($ VSub_Name '$old_library')
                                                                                }
                                                                              spids: [26100]
                                                                            )
                                                                          ]
                                                                          spids: [26100]
                                                                        )
                                                                        (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: [26126]
                                                                                    )
                                                                                  ]
                                                                                  spids: [26126]
                                                                                )
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: 
finalize_deplibs
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (DQ 
                                                                                            ($ 
VSub_Name '$deplib'
                                                                                            ) (' ') ($ VSub_Name '$finalize_deplibs')
                                                                                          )
                                                                                        }
                                                                                      spids: [26134]
                                                                                    )
                                                                                  ]
                                                                                  spids: [26134]
                                                                                )
                                                                              ]
                                                                              spids: [16777215 26123]
                                                                            )
                                                                          ]
                                                                          else_action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: deplibs
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
'$deplib'
                                                                                        ) (' ') ($ VSub_Name '$deplibs')
                                                                                      )
                                                                                    }
                                                                                  spids: [26145]
                                                                                )
                                                                              ]
                                                                              spids: [26145]
                                                                            )
                                                                            (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: [26165]
                                                                                    )
                                                                                  ]
                                                                                  spids: [26165]
                                                                                )
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [26142 26173]
                                                                        )
                                                                        (ControlFlow
                                                                          token: 
                                                                            <ControlFlow_Continue 
continue
                                                                            >
                                                                        )
                                                                      ]
                                                                      spids: [16777215 26070]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 26179]
                                                                )
                                                              ]
                                                              spids: [16777215 26013]
                                                            )
                                                          ]
                                                          spids: [16777215 26182]
                                                        )
                                                      ]
                                                      spids: [25994 26001 26185 16777215]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      spids: [26188 26189 26191 16777215]
                                                    )
                                                  ]
                                                  spids: [25981 25991 26194]
                                                )
                                              ]
                                              spids: [16777215 25978]
                                            )
                                          ]
                                          spids: [16777215 26197]
                                        )
                                      ]
                                      spids: [25947 26200]
                                    )
                                  ]
                                  spids: [25631 25633 26203 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: [26234]
                                                )
                                              ]
                                              spids: [26234]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$finalize_deplibs')
                                                      )
                                                    }
                                                  spids: [26242]
                                                )
                                              ]
                                              spids: [26242]
                                            )
                                          ]
                                          spids: [16777215 26231]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:deplibs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$deplib') (' ') 
                                                    ($ VSub_Name '$deplibs')
                                                  )
                                                }
                                              spids: [26253]
                                            )
                                          ]
                                          spids: [26253]
                                        )
                                        (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: [26288 26295 26297 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: [26304]
                                                            )
                                                          ]
                                                          spids: [26304]
                                                        )
                                                      ]
                                                      spids: [26300 26302 26311 16777215]
                                                    )
                                                  ]
                                                  spids: [26278 26285 26314]
                                                )
                                              ]
                                              spids: [16777215 26275]
                                            )
                                          ]
                                          spids: [16777215 26317]
                                        )
                                      ]
                                      spids: [26250 26320]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [26209 26211 26326 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: [26345]
                                                )
                                              ]
                                              spids: [26345]
                                            )
                                            (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: [26368]
                                                )
                                              ]
                                              spids: [26368]
                                            )
                                            (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: [26390]
                                                )
                                              ]
                                              spids: [26390]
                                            )
                                          ]
                                          spids: [26341 26342 26398 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: [26421]
                                                        )
                                                      ]
                                                      spids: [26421]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Continue continue>
                                                    )
                                                  ]
                                                  spids: [16777215 26418]
                                                )
                                              ]
                                              spids: [16777215 26432]
                                            )
                                            (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: [26451]
                                                        )
                                                      ]
                                                      spids: [26451]
                                                    )
                                                  ]
                                                  spids: [16777215 26448]
                                                )
                                              ]
                                              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: [26462]
                                                    )
                                                  ]
                                                  spids: [26462]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:finalize_deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$deplib') (' ') 
                                                            ($ VSub_Name '$finalize_deplibs')
                                                          )
                                                        }
                                                      spids: [26470]
                                                    )
                                                  ]
                                                  spids: [26470]
                                                )
                                              ]
                                              spids: [26459 26478]
                                            )
                                            (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: [26495]
                                                )
                                              ]
                                              spids: [26495]
                                            )
                                          ]
                                          spids: [26401 26402 26503 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_warning)} 
                                              {
                                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                                                  ("-L' is ignored for archives/objects")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [26506 26507 26518 16777215]
                                        )
                                      ]
                                      spids: [26334 26338 26521]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [26329 26331 26530 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: [26571]
                                                )
                                              ]
                                              spids: [26571]
                                            )
                                            (Case
                                              to_match: {(DQ ($ VSub_Name '$xrpath') (' '))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$dir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [26589 26596 26598 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: [26604]
                                                        )
                                                      ]
                                                      spids: [26604]
                                                    )
                                                  ]
                                                  spids: [26601 26602 26611 16777215]
                                                )
                                              ]
                                              spids: [26579 26586 26614]
                                            )
                                          ]
                                          spids: [16777215 26554]
                                        )
                                      ]
                                      spids: [16777215 26617]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                ($ VSub_Name '$deplibs')
                                              )
                                            }
                                          spids: [26620]
                                        )
                                      ]
                                      spids: [26620]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [26536 26538 26631 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: [26638]
                                        )
                                      ]
                                      spids: [26638]
                                    )
                                  ]
                                  spids: [26634 26636 26643 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: [26668]
                                                )
                                              ]
                                              spids: [26668]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [16777215 26665]
                                        )
                                      ]
                                      spids: [16777215 26679]
                                    )
                                    (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: [26712 26719 26721 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: [26728]
                                                        )
                                                      ]
                                                      spids: [26728]
                                                    )
                                                    (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: [26755 26772]
                                                                      )
                                                                    }
                                                                  spids: [26754]
                                                                )
                                                              ]
                                                              spids: [26754]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (Pipeline
                                                                          children: [
                                                                            (SimpleCommand
                                                                              words: [
                                                                                {(eval)}
                                                                                {
                                                                                  (DQ 
                                                                                    (EscapedLiteralPart
                                                                                      token: 
                                                                                        <
Lit_EscapedChar '\\$'
                                                                                        >
                                                                                    ) ('ECHO ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$deplib') 
                                                                                    (EscapedLiteralPart
                                                                                      token: 
                                                                                        <
Lit_EscapedChar '\\"'
                                                                                        >
                                                                                    )
                                                                                  )
                                                                                }
                                                                              ]
                                                                              redirects: [
                                                                                (Redir
                                                                                  op_id: Redir_Great
                                                                                  fd: 2
                                                                                  arg_word: 
                                                                                    {(/dev/null)}
                                                                                  spids: [26787]
                                                                                )
                                                                              ]
                                                                            )
                                                                            (C {($ VSub_Name '$SED')} 
                                                                              {(10q)}
                                                                            )
                                                                            (SimpleCommand
                                                                              words: [
                                                                                {
                                                                                  ($ VSub_Name 
'$EGREP'
                                                                                  )
                                                                                }
                                                                                {
                                                                                  (DQ 
                                                                                    ($ VSub_Name 
'$match_pattern_regex'
                                                                                    )
                                                                                  )
                                                                                }
                                                                              ]
                                                                              redirects: [
                                                                                (Redir
                                                                                  op_id: Redir_Great
                                                                                  fd: 16777215
                                                                                  arg_word: 
                                                                                    {(/dev/null)}
                                                                                  spids: [26806]
                                                                                )
                                                                              ]
                                                                            )
                                                                          ]
                                                                          negated: F
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: valid_a_lib
                                                                            )
                                                                          op: Equal
                                                                          rhs: {(yes)}
                                                                          spids: [26814]
                                                                        )
                                                                      ]
                                                                      spids: [26814]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 26811]
                                                                )
                                                              ]
                                                              spids: [16777215 26818]
                                                            )
                                                          ]
                                                          spids: [26739 26741 26821 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: [26828]
                                                                )
                                                              ]
                                                              spids: [26828]
                                                            )
                                                          ]
                                                          spids: [26824 26825 26832 16777215]
                                                        )
                                                      ]
                                                      spids: [26732 26736 26835]
                                                    )
                                                    (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 {(echo)})
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** Warning: Trying to link with static lib archive '
                                                                  ) ($ VSub_Name '$deplib') (.)
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** I have the capability to make that library automatically link in when'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** you link to this library.  But I can only do this if you have a'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** shared version of the library, which you do not appear to have'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** because the file extensions .'
                                                                  ) ($ VSub_Name '$libext') (' of this argument makes me believe')
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** that it is just a static archive that I should not use here.'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [16777215 26852]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (C {(echo)})
                                                        (C {($ VSub_Name '$ECHO')} 
                                                          {
                                                            (DQ 
                                                              (
'*** Warning: Linking the shared library '
                                                              ) ($ VSub_Name '$output') (' against the')
                                                            )
                                                          }
                                                        )
                                                        (C {($ VSub_Name '$ECHO')} 
                                                          {
                                                            (DQ ('*** static library ') 
                                                              ($ VSub_Name '$deplib') (' is not portable!')
                                                            )
                                                          }
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:deplibs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name '$deplib') (' ') 
                                                                    ($ VSub_Name '$deplibs')
                                                                  )
                                                                }
                                                              spids: [26928]
                                                            )
                                                          ]
                                                          spids: [26928]
                                                        )
                                                      ]
                                                      spids: [26904 26936]
                                                    )
                                                  ]
                                                  spids: [26724 26725 26939 16777215]
                                                )
                                              ]
                                              spids: [26701 26709 26942]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [26689 26690 26948 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: [26972]
                                                        )
                                                      ]
                                                      spids: [26972]
                                                    )
                                                  ]
                                                  spids: [16777215 26969]
                                                )
                                              ]
                                              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: [26983]
                                                    )
                                                  ]
                                                  spids: [26983]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:finalize_deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$deplib') (' ') 
                                                            ($ VSub_Name '$finalize_deplibs')
                                                          )
                                                        }
                                                      spids: [26991]
                                                    )
                                                  ]
                                                  spids: [26991]
                                                )
                                              ]
                                              spids: [26980 26999]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [26951 26952 27005 16777215]
                                        )
                                      ]
                                      spids: [26682 26686 27008]
                                    )
                                  ]
                                  spids: [26646 26649 27014 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: [27047]
                                                )
                                              ]
                                              spids: [27047]
                                            )
                                          ]
                                          spids: [16777215 27044]
                                        )
                                        (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: [27120]
                                                        )
                                                      ]
                                                      spids: [27120]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:compile_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$compile_deplibs')
                                                              )
                                                            }
                                                          spids: [27128]
                                                        )
                                                      ]
                                                      spids: [27128]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:finalize_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$finalize_deplibs')
                                                              )
                                                            }
                                                          spids: [27136]
                                                        )
                                                      ]
                                                      spids: [27136]
                                                    )
                                                  ]
                                                  spids: [16777215 27109]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:newdlfiles)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$newdlfiles') (' ') 
                                                            ($ VSub_Name '$deplib')
                                                          )
                                                        }
                                                      spids: [27147]
                                                    )
                                                  ]
                                                  spids: [27147]
                                                )
                                              ]
                                              spids: [27144 27155]
                                            )
                                          ]
                                          spids: [27055 27068]
                                        )
                                      ]
                                      spids: [16777215 27158]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [27020 27028 27164 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: [27173]
                                        )
                                      ]
                                      spids: [27173]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [27167 27170 27180 16777215]
                                )
                              ]
                              spids: [25491 25495 27183]
                            )
                            (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 27213]
                                )
                              ]
                              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: [27218 27234]
                            )
                            (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: [27276]
                                )
                              ]
                              spids: [27276]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlname)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [27283]
                                )
                              ]
                              spids: [27283]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlopen)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [27286]
                                )
                              ]
                              spids: [27286]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlpreopen)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [27289]
                                )
                              ]
                              spids: [27289]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libdir)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [27292]
                                )
                              ]
                              spids: [27292]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:library_names)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [27295]
                                )
                              ]
                              spids: [27295]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:old_library)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [27298]
                                )
                              ]
                              spids: [27298]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:inherited_linker_flags)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [27301]
                                )
                              ]
                              spids: [27301]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:installed)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [27312]
                                )
                              ]
                              spids: [27312]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:shouldnotlink)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [27316]
                                )
                              ]
                              spids: [27316]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:avoidtemprpath)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [27320]
                                )
                              ]
                              spids: [27320]
                            )
                            (C {(func_source)} {(DQ ($ VSub_Name '$lib'))})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$inherited_linker_flags'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_inherited_linker_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
'$inherited_linker_flags'
                                                                )
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name '$SED')} 
                                                            {
                                                              (SQ 
                                                                <
's/-framework \\([^ $]*\\)/\\1.ltframework/g'
                                                                >
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [27356 27370]
                                              )
                                            }
                                          spids: [27355]
                                        )
                                      ]
                                      spids: [27355]
                                    )
                                    (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: [27396 27403 27405 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: [27411]
                                                        )
                                                      ]
                                                      spids: [27411]
                                                    )
                                                  ]
                                                  spids: [27408 27409 27417 16777215]
                                                )
                                              ]
                                              spids: [27385 27393 27420]
                                            )
                                          ]
                                          spids: [27382 27423]
                                        )
                                      spids: [27378 27380]
                                    )
                                  ]
                                  spids: [16777215 27352]
                                )
                              ]
                              spids: [16777215 27426]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dependency_libs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ (' ') ($ VSub_Name '$dependency_libs'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {
                                                      (SQ 
                                                        <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [27430 27445]
                                      )
                                    }
                                  spids: [27429]
                                )
                              ]
                              spids: [27429]
                            )
                            (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: [27484]
                                            )
                                          ]
                                        )
                                      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: [27527]
                                            )
                                          ]
                                          spids: [27527]
                                        )
                                      ]
                                    )
                                    (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: [27545]
                                            )
                                          ]
                                          spids: [27545]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 27514]
                                )
                              ]
                              spids: [16777215 27553]
                            )
                            (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: [27577]
                                        )
                                      ]
                                      spids: [27577]
                                    )
                                    (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 27610]
                                                )
                                              ]
                                              spids: [16777215 27623]
                                            )
                                            (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: [27630]
                                                )
                                              ]
                                              spids: [27630]
                                            )
                                            (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: [27642]
                                                )
                                              ]
                                              spids: [27642]
                                            )
                                          ]
                                          spids: [16777215 27596]
                                        )
                                        (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: [27654 27681]
                                        )
                                      ]
                                      spids: [16777215 27693]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [27696]
                                        )
                                      ]
                                      spids: [27696]
                                    )
                                    (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: [27711]
                                                )
                                              ]
                                              spids: [27711]
                                            )
                                            (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: [27747]
                                                                )
                                                              ]
                                                              spids: [27747]
                                                            )
                                                          ]
                                                          spids: [27738 27745 27754 16777215]
                                                        )
                                                      ]
                                                      spids: [27728 27735 27757]
                                                    )
                                                  ]
                                                  spids: [16777215 27725]
                                                )
                                              ]
                                              spids: [16777215 27760]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:tmp_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$tmp_libs') (' ') 
                                                        ($ VSub_Name '$deplib')
                                                      )
                                                    }
                                                  spids: [27763]
                                                )
                                              ]
                                              spids: [27763]
                                            )
                                          ]
                                          spids: [27708 27771]
                                        )
                                      spids: [27704 27706]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [16777215 27570]
                                )
                              ]
                              spids: [16777215 27777]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:linklib)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [27789]
                                )
                              ]
                              spids: [27789]
                            )
                            (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: [27806]
                                        )
                                      ]
                                      spids: [27806]
                                    )
                                  ]
                                  spids: [27803 27812]
                                )
                              spids: [27797 27801]
                            )
                            (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 27826]
                                )
                              ]
                              spids: [16777215 27839]
                            )
                            (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 27874]
                                        )
                                      ]
                                      spids: [16777215 27887]
                                    )
                                    (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: [27947]
                                                )
                                              ]
                                              spids: [27947]
                                            )
                                          ]
                                          spids: [16777215 27928]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdlfiles)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$newdlfiles') (' ') 
                                                    ($ VSub_Name '$lib')
                                                  )
                                                }
                                              spids: [27960]
                                            )
                                          ]
                                          spids: [27960]
                                        )
                                      ]
                                      spids: [27957 27968]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [16777215 27860]
                                )
                              ]
                              spids: [16777215 27974]
                            )
                            (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: [28011]
                                        )
                                      ]
                                      spids: [28011]
                                    )
                                  ]
                                  spids: [27992 28009 28016 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: [28024 28034]
                                              )
                                            }
                                          spids: [28023]
                                        )
                                      ]
                                      spids: [28023]
                                    )
                                    (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: [28068]
                                                )
                                              ]
                                              spids: [28068]
                                            )
                                          ]
                                          spids: [16777215 28048]
                                        )
                                      ]
                                      spids: [16777215 28074]
                                    )
                                  ]
                                  spids: [28019 28020 28077 16777215]
                                )
                              ]
                              spids: [27985 27989 28080]
                            )
                            (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: [28090]
                                )
                              ]
                              spids: [28090]
                            )
                            (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: [28158]
                                                )
                                              ]
                                              spids: [28158]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:absdir)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$abs_ladir'))}
                                                  spids: [28164]
                                                )
                                              ]
                                              spids: [28164]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libdir)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$abs_ladir'))}
                                                  spids: [28170]
                                                )
                                              ]
                                              spids: [28170]
                                            )
                                          ]
                                          spids: [16777215 28145]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dir)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$libdir'))}
                                              spids: [28179]
                                            )
                                          ]
                                          spids: [28179]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:absdir)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$libdir'))}
                                              spids: [28185]
                                            )
                                          ]
                                          spids: [28185]
                                        )
                                      ]
                                      spids: [28176 28191]
                                    )
                                    (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: [28207]
                                            )
                                          ]
                                          spids: [28207]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 28115]
                                )
                              ]
                              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: [28246]
                                            )
                                          ]
                                          spids: [28246]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:absdir)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$abs_ladir'))}
                                              spids: [28252]
                                            )
                                          ]
                                          spids: [28252]
                                        )
                                        (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: [28262]
                                            )
                                          ]
                                          spids: [28262]
                                        )
                                      ]
                                      spids: [16777215 28243]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dir)
                                          op: Equal
                                          rhs: 
                                            {(DQ ($ VSub_Name '$ladir') (/) ($ VSub_Name '$objdir'))}
                                          spids: [28273]
                                        )
                                      ]
                                      spids: [28273]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:absdir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$abs_ladir') (/) 
                                                ($ VSub_Name '$objdir')
                                              )
                                            }
                                          spids: [28281]
                                        )
                                      ]
                                      spids: [28281]
                                    )
                                    (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: [28293]
                                        )
                                      ]
                                      spids: [28293]
                                    )
                                  ]
                                  spids: [28270 28301]
                                )
                              ]
                              spids: [28211 28304]
                            )
                            (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: [28325]
                                )
                              ]
                              spids: [28325]
                            )
                            (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 28373]
                                        )
                                      ]
                                      spids: [16777215 28386]
                                    )
                                    (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: [28411]
                                                )
                                              ]
                                              spids: [28411]
                                            )
                                            (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: [28441]
                                                    )
                                                  ]
                                                  spids: [28441]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 28408]
                                        )
                                        (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: [28469]
                                                )
                                              ]
                                              spids: [28469]
                                            )
                                          ]
                                          spids: [28455 28466]
                                        )
                                      ]
                                      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: [28482]
                                            )
                                          ]
                                          spids: [28482]
                                        )
                                      ]
                                      spids: [28479 28492]
                                    )
                                  ]
                                  spids: [16777215 28347]
                                )
                              ]
                              spids: [16777215 28495]
                            )
                            (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: [28536]
                                                )
                                              ]
                                              spids: [28536]
                                            )
                                          ]
                                          spids: [16777215 28533]
                                        )
                                        (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: [28566]
                                                )
                                              ]
                                              spids: [28566]
                                            )
                                            (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: [28576]
                                                )
                                              ]
                                              spids: [28576]
                                            )
                                          ]
                                          spids: [28546 28563]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:deplibs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$lib') (' ') 
                                                    ($ VSub_Name '$deplibs')
                                                  )
                                                }
                                              spids: [28589]
                                            )
                                          ]
                                          spids: [28589]
                                        )
                                      ]
                                      spids: [28586 28600]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [16777215 28513]
                                )
                              ]
                              spids: [16777215 28606]
                            )
                            (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: [28640]
                                        )
                                      ]
                                      spids: [28640]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$lib') (' ') ($ VSub_Name '$deplibs'))
                                            }
                                          spids: [28648]
                                        )
                                      ]
                                      spids: [28648]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linkalldeplibs)
                                          op: Equal
                                          rhs: {(no)}
                                          spids: [28657]
                                        )
                                      ]
                                      spids: [28657]
                                    )
                                    (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: [28701]
                                                )
                                              ]
                                              spids: [28701]
                                            )
                                          ]
                                          spids: [16777215 28698]
                                        )
                                      ]
                                      spids: [16777215 28705]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [28709]
                                        )
                                      ]
                                      spids: [28709]
                                    )
                                    (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: [28749]
                                                        )
                                                      ]
                                                      spids: [28749]
                                                    )
                                                  ]
                                                  spids: [28731 28733 28757 16777215]
                                                )
                                              ]
                                              spids: [28724 28728 28760]
                                            )
                                            (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: [28783]
                                                        )
                                                      ]
                                                      spids: [28783]
                                                    )
                                                  ]
                                                  spids: [16777215 28780]
                                                )
                                              ]
                                              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: [28802]
                                                    )
                                                  ]
                                                  spids: [28802]
                                                )
                                              ]
                                              spids: [28791 28810]
                                            )
                                            (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: [28841]
                                                                )
                                                              ]
                                                              spids: [28841]
                                                            )
                                                          ]
                                                          spids: [28832 28839 28848 16777215]
                                                        )
                                                      ]
                                                      spids: [28822 28829 28851]
                                                    )
                                                  ]
                                                  spids: [16777215 28819]
                                                )
                                              ]
                                              spids: [16777215 28854]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:tmp_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$tmp_libs') (' ') 
                                                        ($ VSub_Name '$deplib')
                                                      )
                                                    }
                                                  spids: [28857]
                                                )
                                              ]
                                              spids: [28857]
                                            )
                                          ]
                                          spids: [28721 28865]
                                        )
                                      spids: [28717 28719]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [16777215 28637]
                                )
                              ]
                              spids: [16777215 28874]
                            )
                            (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: [28916]
                                                                )
                                                                (C {(test)} {(-z)} 
                                                                  {(DQ ($ VSub_Name '$old_library'))}
                                                                )
                                                              ]
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      spids: [28914]
                                                    )
                                                  ]
                                                )
                                              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: [29009 29015 29017 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: [29023]
                                                                )
                                                              ]
                                                              spids: [29023]
                                                            )
                                                          ]
                                                          spids: [29020 29021 29030 16777215]
                                                        )
                                                      ]
                                                      spids: [28999 29006 29033]
                                                    )
                                                  ]
                                                  spids: [16777215 28992]
                                                )
                                              ]
                                              spids: [16777215 29036]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (' ') ($ VSub_Name '$sys_lib_dlsearch_path') 
                                                    (' ')
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$absdir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [29063 29070 29072 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: [29089 29096 29098 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: [29104]
                                                                )
                                                              ]
                                                              spids: [29104]
                                                            )
                                                          ]
                                                          spids: [29101 29102 16777215 29112]
                                                        )
                                                      ]
                                                      spids: [29079 29086 29112]
                                                    )
                                                  ]
                                                  spids: [29075 29076 29115 16777215]
                                                )
                                              ]
                                              spids: [29052 29060 29118]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (' ') ($ VSub_Name '$sys_lib_dlsearch_path') 
                                                    (' ')
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$libdir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [29132 29139 29141 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: [29158 29165 29167 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: [29173]
                                                                )
                                                              ]
                                                              spids: [29173]
                                                            )
                                                          ]
                                                          spids: [29170 29171 16777215 29181]
                                                        )
                                                      ]
                                                      spids: [29148 29155 29181]
                                                    )
                                                  ]
                                                  spids: [29144 29145 29184 16777215]
                                                )
                                              ]
                                              spids: [29121 29129 29187]
                                            )
                                          ]
                                          spids: [16777215 28963]
                                        )
                                      ]
                                      spids: [16777215 29190]
                                    )
                                    (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: [29227]
                                                                )
                                                              ]
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      spids: [29212]
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                                          spids: [16777215 29257]
                                        )
                                      ]
                                      spids: [16777215 29267]
                                    )
                                  ]
                                  spids: [16777215 28898]
                                )
                              ]
                              spids: [16777215 29270]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_static)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [29274]
                                )
                              ]
                              spids: [29274]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:use_static_libs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$prefer_static_libs')}
                                  spids: [29281]
                                )
                              ]
                              spids: [29281]
                            )
                            (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: [29313]
                                        )
                                      ]
                                      spids: [29313]
                                    )
                                  ]
                                  spids: [16777215 29310]
                                )
                              ]
                              spids: [16777215 29317]
                            )
                            (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: [29333]
                                            )
                                          ]
                                        )
                                      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: [29391]
                                                )
                                              ]
                                              spids: [29391]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:need_relink)
                                                  op: Equal
                                                  rhs: {(no)}
                                                  spids: [29399]
                                                )
                                              ]
                                              spids: [29399]
                                            )
                                          ]
                                          spids: [29369 29384 29403 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: [29426]
                                                        )
                                                      ]
                                                      spids: [29426]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:need_relink)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [29434]
                                                        )
                                                      ]
                                                      spids: [29434]
                                                    )
                                                  ]
                                                  spids: [16777215 29423]
                                                )
                                              ]
                                              spids: [16777215 29438]
                                            )
                                          ]
                                          spids: [29406 29407 29441 16777215]
                                        )
                                      ]
                                      spids: [29362 29366 29444]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlopenmodule)
                                          op: Equal
                                          rhs: {(DQ )}
                                          spids: [29460]
                                        )
                                      ]
                                      spids: [29460]
                                    )
                                    (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: [29497]
                                                        )
                                                      ]
                                                      spids: [29497]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [16777215 29494]
                                                )
                                              ]
                                              spids: [16777215 29506]
                                            )
                                          ]
                                          spids: [29474 29509]
                                        )
                                      spids: [29470 29472]
                                    )
                                    (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 {(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 29566]
                                                )
                                              ]
                                              else_action: [
                                                (C {($ VSub_Name '$ECHO')} 
                                                  {
                                                    (DQ ('*** Warning: Linking the shared library ') 
                                                      ($ VSub_Name '$output') (' against the loadable module')
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [29578 29590]
                                            )
                                            (C {($ VSub_Name '$ECHO')} 
                                              {
                                                (DQ ('*** ') ($ VSub_Name '$linklib') 
                                                  (' is not portable!')
                                                )
                                              }
                                            )
                                          ]
                                          spids: [16777215 29547]
                                        )
                                      ]
                                      spids: [16777215 29602]
                                    )
                                    (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: [29657 29664 29666 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: [29683 29690 29692 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: [29698]
                                                                )
                                                              ]
                                                              spids: [29698]
                                                            )
                                                          ]
                                                          spids: [29695 29696 16777215 29706]
                                                        )
                                                      ]
                                                      spids: [29673 29680 29706]
                                                    )
                                                  ]
                                                  spids: [29669 29670 29709 16777215]
                                                )
                                              ]
                                              spids: [29646 29654 29712]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (' ') ($ VSub_Name '$sys_lib_dlsearch_path') 
                                                    (' ')
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$libdir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [29726 29733 29735 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: [29752 29759 29761 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: [29767]
                                                                )
                                                              ]
                                                              spids: [29767]
                                                            )
                                                          ]
                                                          spids: [29764 29765 16777215 29775]
                                                        )
                                                      ]
                                                      spids: [29742 29749 29775]
                                                    )
                                                  ]
                                                  spids: [29738 29739 29778 16777215]
                                                )
                                              ]
                                              spids: [29715 29723 29781]
                                            )
                                          ]
                                          spids: [16777215 29631]
                                        )
                                      ]
                                      spids: [16777215 29784]
                                    )
                                    (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: [29816]
                                                )
                                              ]
                                              spids: [29816]
                                            )
                                            (C {(shift)})
                                            (C {(eval)} 
                                              {
                                                (DQ ('libname=') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\"'>
                                                  ) ($ VSub_Name '$libname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                )
                                              }
                                            )
                                            (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: [29853]
                                                        )
                                                      ]
                                                      spids: [29853]
                                                    )
                                                  ]
                                                  spids: [16777215 29850]
                                                )
                                                (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: [29910]
                                                                )
                                                              ]
                                                              spids: [29910]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:versuffix)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-) ($ VSub_Name '$major'))}
                                                                  spids: [29914]
                                                                )
                                                              ]
                                                              spids: [29914]
                                                            )
                                                          ]
                                                          spids: [29884 29898 29921 16777215]
                                                        )
                                                      ]
                                                      spids: [29877 29881 29924]
                                                    )
                                                    (C {(eval)} 
                                                      {
                                                        (DQ ('soname=') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\"'>
                                                          ) ($ VSub_Name '$soname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [29859 29870]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:soname)
                                                      op: Equal
                                                      rhs: {(DQ ($ VSub_Name '$realname'))}
                                                      spids: [29940]
                                                    )
                                                  ]
                                                  spids: [29940]
                                                )
                                              ]
                                              spids: [29937 29946]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:soroot)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$soname'))}
                                                  spids: [29954]
                                                )
                                              ]
                                              spids: [29954]
                                            )
                                            (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: [29967]
                                                )
                                              ]
                                              spids: [29967]
                                            )
                                            (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: [29988]
                                                )
                                              ]
                                              spids: [29988]
                                            )
                                            (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 30013]
                                                )
                                              ]
                                              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: [30018 30042]
                                            )
                                            (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 30063]
                                                )
                                              ]
                                              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: [30068 30092]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dir)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$output_objdir')}
                                                  spids: [30099]
                                                )
                                              ]
                                              spids: [30099]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:linklib)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$newlib')}
                                                  spids: [30103]
                                                )
                                              ]
                                              spids: [30103]
                                            )
                                          ]
                                          spids: [16777215 29799]
                                        )
                                      ]
                                      spids: [16777215 30107]
                                    )
                                    (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: [30143]
                                                )
                                              ]
                                              spids: [30143]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_dir)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [30146]
                                                )
                                              ]
                                              spids: [30146]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [30149]
                                                )
                                              ]
                                              spids: [30149]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lib_linked)
                                                  op: Equal
                                                  rhs: {(yes)}
                                                  spids: [30152]
                                                )
                                              ]
                                              spids: [30152]
                                            )
                                            (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: [30187]
                                                                )
                                                              ]
                                                              spids: [30187]
                                                            )
                                                            (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: [30212]
                                                                        )
                                                                      ]
                                                                      spids: [30212]
                                                                    )
                                                                  ]
                                                                  spids: [30202 30210 30218 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: [30230]
                                                                        )
                                                                      ]
                                                                      spids: [30230]
                                                                    )
                                                                  ]
                                                                  spids: [30221 30228 30236 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: [30271]
                                                                        )
                                                                      ]
                                                                      spids: [30271]
                                                                    )
                                                                  ]
                                                                  spids: [30239 30269 30277 16777215]
                                                                )
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') (-) 
                                                                      (Lit_Other '*') (-darwin) (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (Sentence
                                                                              child: 
                                                                                (Pipeline
                                                                                  children: [
                                                                                    (SimpleCommand
                                                                                      words: [
                                                                                        {
                                                                                          (
/usr/bin/file
                                                                                          )
                                                                                        }
                                                                                        {(-L)}
                                                                                        {
                                                                                          ($ 
VSub_Name '$add'
                                                                                          )
                                                                                        }
                                                                                      ]
                                                                                      redirects: [
                                                                                        (Redir
                                                                                          op_id: 
Redir_Great
                                                                                          fd: 2
                                                                                          arg_word: 
                                                                                            {
                                                                                              (
/dev/null
                                                                                              )
                                                                                            }
                                                                                          spids: [
30305
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                    (SimpleCommand
                                                                                      words: [
                                                                                        {
                                                                                          ($ 
VSub_Name '$GREP'
                                                                                          )
                                                                                        }
                                                                                        {
                                                                                          (DQ 
                                                                                            (
': [^:]* bundle'
                                                                                            )
                                                                                          )
                                                                                        }
                                                                                      ]
                                                                                      redirects: [
                                                                                        (Redir
                                                                                          op_id: 
Redir_Great
                                                                                          fd: 
16777215
                                                                                          arg_word: 
                                                                                            {
                                                                                              (
/dev/null
                                                                                              )
                                                                                            }
                                                                                          spids: [
30318
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  negated: F
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ';'>
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (C {(test)} 
                                                                                          {
                                                                                            (DQ (X) 
                                                                                              ($ 
VSub_Name '$dlopenmodule'
                                                                                              )
                                                                                            )
                                                                                          } {(KW_Bang '!') (Lit_Other '=')} {(DQ (X) ($ VSub_Name '$lib'))}
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
';'
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (C 
                                                                                      {
                                                                                        ($ VSub_Name 
'$ECHO'
                                                                                        )
                                                                                      } {(DQ ('*** Warning: lib ') ($ VSub_Name '$linklib') (' is a module, not a shared library'))}
                                                                                    )
                                                                                    (If
                                                                                      arms: [
                                                                                        (if_arm
                                                                                          cond: [
                                                                                            (Sentence
                                                                                              child: 
                                                                                                (C 
                                                                                                  {
                                                                                                    (
test
                                                                                                    )
                                                                                                  } {(-z)} {(DQ ($ VSub_Name '$old_library'))}
                                                                                                )
                                                                                              terminator: 
                                                                                                <
Op_Semi ';'
                                                                                                >
                                                                                            )
                                                                                          ]
                                                                                          action: [
                                                                                            (C 
                                                                                              {
                                                                                                (
echo
                                                                                                )
                                                                                              }
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                (
echo
                                                                                                )
                                                                                              } {(DQ ("*** And there doesn't seem to be a static archive available"))}
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                (
echo
                                                                                                )
                                                                                              } {(DQ ('*** The link will probably fail, sorry'))}
                                                                                            )
                                                                                          ]
                                                                                          spids: [
16777215
30368
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      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: [
30391
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
30391
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
30388
30399
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
16777215
30344
                                                                                  ]
                                                                                )
                                                                                (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: [
30416
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [30416]
                                                                                    )
                                                                                  ]
                                                                                  spids: [30402 30413]
                                                                                )
                                                                              ]
                                                                              spids: [16777215 30424]
                                                                            )
                                                                          ]
                                                                          spids: [16777215 30323]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 30427]
                                                                    )
                                                                  ]
                                                                  spids: [30280 30286 16777215 30430]
                                                                )
                                                              ]
                                                              spids: [30195 30199 30430]
                                                            )
                                                          ]
                                                          spids: [16777215 30184]
                                                        )
                                                        (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: [30463]
                                                                        )
                                                                      ]
                                                                      spids: [30463]
                                                                    )
                                                                  ]
                                                                  spids: [30456 30461 30468 16777215]
                                                                )
                                                              ]
                                                              spids: [30449 30453 30471]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add_dir)
                                                                  op: Equal
                                                                  rhs: {(DQ (-L) ($ VSub_Name '$dir'))}
                                                                  spids: [30474]
                                                                )
                                                              ]
                                                              spids: [30474]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-l) ($ VSub_Name '$name'))}
                                                                  spids: [30481]
                                                                )
                                                              ]
                                                              spids: [30481]
                                                            )
                                                          ]
                                                          spids: [30433 30446]
                                                        )
                                                        (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: [30504]
                                                                )
                                                              ]
                                                              spids: [30504]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-l) ($ VSub_Name '$name'))}
                                                                  spids: [30510]
                                                                )
                                                              ]
                                                              spids: [30510]
                                                            )
                                                          ]
                                                          spids: [30488 30501]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:lib_linked)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [30520]
                                                            )
                                                          ]
                                                          spids: [30520]
                                                        )
                                                      ]
                                                      spids: [30517 30524]
                                                    )
                                                  ]
                                                  spids: [30163 30168 30527 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: [30563]
                                                                )
                                                              ]
                                                              spids: [30563]
                                                            )
                                                          ]
                                                          spids: [16777215 30560]
                                                        )
                                                        (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 '$absdir'))
                                                                    }
                                                                  spids: [30587]
                                                                )
                                                              ]
                                                              spids: [30587]
                                                            )
                                                            (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: [30627]
                                                                                )
                                                                              ]
                                                                              spids: [30627]
                                                                            )
                                                                          ]
                                                                          spids: [
30619
30624
30636
16777215
                                                                          ]
                                                                        )
                                                                      ]
                                                                      spids: [30612 30616 30639]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 30609]
                                                                )
                                                              ]
                                                              spids: [16777215 30642]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-l) ($ VSub_Name '$name'))}
                                                                  spids: [30645]
                                                                )
                                                              ]
                                                              spids: [30645]
                                                            )
                                                          ]
                                                          spids: [30571 30584]
                                                        )
                                                        (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: [30668]
                                                                )
                                                              ]
                                                              spids: [30668]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-l) ($ VSub_Name '$name'))}
                                                                  spids: [30674]
                                                                )
                                                              ]
                                                              spids: [30674]
                                                            )
                                                          ]
                                                          spids: [30652 30665]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:lib_linked)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [30684]
                                                            )
                                                          ]
                                                          spids: [30684]
                                                        )
                                                      ]
                                                      spids: [30681 30688]
                                                    )
                                                  ]
                                                  spids: [30530 30531 30691 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: [30697]
                                                        )
                                                      ]
                                                      spids: [30697]
                                                    )
                                                  ]
                                                  spids: [30694 30695 30700 16777215]
                                                )
                                              ]
                                              spids: [30156 30160 30703]
                                            )
                                            (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 30721]
                                                )
                                              ]
                                              spids: [16777215 30731]
                                            )
                                            (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: [30758 30765 30767 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: [30773]
                                                                )
                                                              ]
                                                              spids: [30773]
                                                            )
                                                          ]
                                                          spids: [30770 30771 30780 16777215]
                                                        )
                                                      ]
                                                      spids: [30749 30755 30783]
                                                    )
                                                  ]
                                                  spids: [16777215 30746]
                                                )
                                              ]
                                              spids: [16777215 30786]
                                            )
                                            (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: [30815]
                                                            )
                                                          ]
                                                          spids: [30815]
                                                        )
                                                      ]
                                                    )
                                                    (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: [30833]
                                                            )
                                                          ]
                                                          spids: [30833]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [16777215 30802]
                                                )
                                              ]
                                              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: [30854]
                                                        )
                                                      ]
                                                      spids: [30854]
                                                    )
                                                  ]
                                                )
                                                (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: [30872]
                                                        )
                                                      ]
                                                      spids: [30872]
                                                    )
                                                  ]
                                                )
                                                (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: [30933 30940 30942 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: [30948]
                                                                    )
                                                                  ]
                                                                  spids: [30948]
                                                                )
                                                              ]
                                                              spids: [30945 30946 30955 16777215]
                                                            )
                                                          ]
                                                          spids: [30924 30930 30958]
                                                        )
                                                      ]
                                                      spids: [16777215 30921]
                                                    )
                                                  ]
                                                  spids: [16777215 30961]
                                                )
                                              ]
                                              spids: [30841 30964]
                                            )
                                          ]
                                          spids: [16777215 30140]
                                        )
                                      ]
                                      spids: [16777215 30967]
                                    )
                                    (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: [30999]
                                                )
                                              ]
                                              spids: [30999]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_dir)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [31002]
                                                )
                                              ]
                                              spids: [31002]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [31005]
                                                )
                                              ]
                                              spids: [31005]
                                            )
                                            (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: [31041]
                                                        )
                                                      ]
                                                      spids: [31041]
                                                    )
                                                  ]
                                                  spids: [16777215 31038]
                                                )
                                                (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: [31065]
                                                        )
                                                      ]
                                                      spids: [31065]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:add)
                                                          op: Equal
                                                          rhs: {(DQ (-l) ($ VSub_Name '$name'))}
                                                          spids: [31072]
                                                        )
                                                      ]
                                                      spids: [31072]
                                                    )
                                                  ]
                                                  spids: [31049 31062]
                                                )
                                                (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: [31104 31111 31113 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: [31119]
                                                                )
                                                              ]
                                                              spids: [31119]
                                                            )
                                                          ]
                                                          spids: [31116 31117 31126 16777215]
                                                        )
                                                      ]
                                                      spids: [31095 31101 31129]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:add)
                                                          op: Equal
                                                          rhs: {(DQ (-l) ($ VSub_Name '$name'))}
                                                          spids: [31132]
                                                        )
                                                      ]
                                                      spids: [31132]
                                                    )
                                                  ]
                                                  spids: [31079 31092]
                                                )
                                                (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: [31184]
                                                                )
                                                              ]
                                                              spids: [31184]
                                                            )
                                                          ]
                                                          spids: [16777215 31181]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:add)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name '$libdir') (/) 
                                                                    ($ VSub_Name '$linklib')
                                                                  )
                                                                }
                                                              spids: [31196]
                                                            )
                                                          ]
                                                          spids: [31196]
                                                        )
                                                      ]
                                                      spids: [31193 31204]
                                                    )
                                                  ]
                                                  spids: [31139 31152]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:add_dir)
                                                      op: Equal
                                                      rhs: {(DQ (-L) ($ VSub_Name '$libdir'))}
                                                      spids: [31214]
                                                    )
                                                  ]
                                                  spids: [31214]
                                                )
                                                (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: [31254]
                                                                    )
                                                                  ]
                                                                  spids: [31254]
                                                                )
                                                              ]
                                                              spids: [31246 31251 31263 16777215]
                                                            )
                                                          ]
                                                          spids: [31239 31243 31266]
                                                        )
                                                      ]
                                                      spids: [16777215 31236]
                                                    )
                                                  ]
                                                  spids: [16777215 31269]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:add)
                                                      op: Equal
                                                      rhs: {(DQ (-l) ($ VSub_Name '$name'))}
                                                      spids: [31272]
                                                    )
                                                  ]
                                                  spids: [31272]
                                                )
                                              ]
                                              spids: [31207 31279]
                                            )
                                            (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: [31309]
                                                            )
                                                          ]
                                                          spids: [31309]
                                                        )
                                                      ]
                                                    )
                                                    (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: [31327]
                                                            )
                                                          ]
                                                          spids: [31327]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [16777215 31296]
                                                )
                                              ]
                                              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: [31348]
                                                        )
                                                      ]
                                                      spids: [31348]
                                                    )
                                                  ]
                                                )
                                                (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: [31366]
                                                        )
                                                      ]
                                                      spids: [31366]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [31335 31374]
                                            )
                                          ]
                                          spids: [16777215 30996]
                                        )
                                      ]
                                      spids: [16777215 31377]
                                    )
                                  ]
                                  spids: [16777215 29359]
                                )
                                (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: [31435]
                                                    )
                                                  ]
                                                  spids: [31435]
                                                )
                                              ]
                                            )
                                            (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: [31441]
                                                )
                                              ]
                                              spids: [31441]
                                            )
                                            (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: [31451]
                                                )
                                              ]
                                              spids: [31451]
                                            )
                                          ]
                                          spids: [16777215 31422]
                                        )
                                      ]
                                      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: [31464]
                                            )
                                          ]
                                          spids: [31464]
                                        )
                                        (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: [31475]
                                            )
                                          ]
                                          spids: [31475]
                                        )
                                      ]
                                      spids: [31461 31486]
                                    )
                                  ]
                                  spids: [31380 31393]
                                )
                                (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 {(echo)})
                                            (C {($ VSub_Name '$ECHO')} 
                                              {
                                                (DQ 
                                                  (
'*** Warning: This system can not link to static lib archive '
                                                  ) ($ VSub_Name '$lib') (.)
                                                )
                                              }
                                            )
                                            (C {(echo)} 
                                              {
                                                (DQ 
                                                  (
'*** I have the capability to make that library automatically link in when'
                                                  )
                                                )
                                              }
                                            )
                                            (C {(echo)} 
                                              {
                                                (DQ 
                                                  (
'*** you link to this library.  But I can only do this if you have a'
                                                  )
                                                )
                                              }
                                            )
                                            (C {(echo)} 
                                              {
                                                (DQ 
                                                  (
'*** shared version of the library, which you do not appear to have.'
                                                  )
                                                )
                                              }
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name '$module'))} 
                                                          {(Lit_Other '=')} {(yes)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(echo)} 
                                                      {
                                                        (DQ 
                                                          (
'*** But as you try to build a module library, libtool will still create '
                                                          )
                                                        )
                                                      }
                                                    )
                                                    (C {(echo)} 
                                                      {
                                                        (DQ 
                                                          (
'*** a static module, that should work as long as the dlopening application'
                                                          )
                                                        )
                                                      }
                                                    )
                                                    (C {(echo)} 
                                                      {
                                                        (DQ 
                                                          (
'*** is linked with the -dlopen flag to resolve symbols at runtime.'
                                                          )
                                                        )
                                                      }
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(-z)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$global_symbol_pipe'
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (C {(echo)})
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** However, this would only work if libtool was able to extract symbol'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** lists from a program, using '
                                                                  ) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("nm' or equivalent, but libtool could")
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** not find such a program.  So, this module is probably useless.'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ ('*** ') 
                                                                  (EscapedLiteralPart
                                                                    token: <Lit_EscapedChar '\\`'>
                                                                  ) ("nm' from GNU binutils and a full rebuild may help.")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [16777215 31624]
                                                        )
                                                      ]
                                                      spids: [16777215 31662]
                                                    )
                                                    (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: [31681]
                                                                )
                                                              ]
                                                              spids: [31681]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:build_old_libs)
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [31685]
                                                                )
                                                              ]
                                                              spids: [31685]
                                                            )
                                                          ]
                                                          spids: [16777215 31678]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_libtool_libs)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [31692]
                                                            )
                                                          ]
                                                          spids: [31692]
                                                        )
                                                      ]
                                                      spids: [31689 31696]
                                                    )
                                                  ]
                                                  spids: [16777215 31589]
                                                )
                                              ]
                                              spids: [16777215 31699]
                                            )
                                          ]
                                          spids: [16777215 31523]
                                        )
                                      ]
                                      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: [31705]
                                            )
                                          ]
                                          spids: [31705]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:link_static)
                                              op: Equal
                                              rhs: {(yes)}
                                              spids: [31715]
                                            )
                                          ]
                                          spids: [31715]
                                        )
                                      ]
                                      spids: [31702 31719]
                                    )
                                  ]
                                  spids: [31489 31502]
                                )
                              ]
                              spids: [16777215 31722]
                            )
                            (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: [31758]
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:temp_deplibs)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [31808]
                                                )
                                              ]
                                              spids: [31808]
                                            )
                                            (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: [31848]
                                                                )
                                                              ]
                                                              spids: [31848]
                                                            )
                                                            (Case
                                                              to_match: 
                                                                {
                                                                  (DQ (' ') ($ VSub_Name '$xrpath') 
                                                                    (' ')
                                                                  )
                                                                }
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') 
                                                                      (DQ (' ') 
                                                                        ($ VSub_Name '$temp_xrpath') (' ')
                                                                      ) (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  spids: [31863 31870 31872 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: [31878]
                                                                        )
                                                                      ]
                                                                      spids: [31878]
                                                                    )
                                                                  ]
                                                                  spids: [31875 31876 31884 16777215]
                                                                )
                                                              ]
                                                              spids: [31852 31860 31887]
                                                            )
                                                          ]
                                                          spids: [31830 31832 31888 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: [31894]
                                                                )
                                                              ]
                                                              spids: [31894]
                                                            )
                                                          ]
                                                          spids: [31891 31892 31900 16777215]
                                                        )
                                                      ]
                                                      spids: [31823 31827 31903]
                                                    )
                                                  ]
                                                  spids: [31820 31906]
                                                )
                                              spids: [31816 31818]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dependency_libs)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$temp_deplibs'))}
                                                  spids: [31909]
                                                )
                                              ]
                                              spids: [31909]
                                            )
                                          ]
                                          spids: [16777215 31801]
                                        )
                                      ]
                                      spids: [16777215 31915]
                                    )
                                    (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: [31919]
                                        )
                                      ]
                                      spids: [31919]
                                    )
                                    (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: [31943]
                                            )
                                          ]
                                          spids: [31943]
                                        )
                                      ]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [31957]
                                        )
                                      ]
                                      spids: [31957]
                                    )
                                    (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: [31972]
                                                )
                                              ]
                                              spids: [31972]
                                            )
                                            (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: [32008]
                                                                )
                                                              ]
                                                              spids: [32008]
                                                            )
                                                          ]
                                                          spids: [31999 32006 32015 16777215]
                                                        )
                                                      ]
                                                      spids: [31989 31996 32018]
                                                    )
                                                  ]
                                                  spids: [16777215 31986]
                                                )
                                              ]
                                              spids: [16777215 32021]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:tmp_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$tmp_libs') (' ') 
                                                        ($ VSub_Name '$deplib')
                                                      )
                                                    }
                                                  spids: [32024]
                                                )
                                              ]
                                              spids: [32024]
                                            )
                                          ]
                                          spids: [31969 32032]
                                        )
                                      spids: [31965 31967]
                                    )
                                    (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: [32069]
                                                        )
                                                      ]
                                                      spids: [32069]
                                                    )
                                                    (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: [32083]
                                                                )
                                                              ]
                                                              spids: [32083]
                                                            )
                                                          ]
                                                          spids: [32079 32081 32088 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: [32110]
                                                                )
                                                              ]
                                                              spids: [32110]
                                                            )
                                                            (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: [32146]
                                                                        )
                                                                      ]
                                                                      spids: [32146]
                                                                    )
                                                                  ]
                                                                  spids: [32127 32144 32151 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: [32159 32169]
                                                                              )
                                                                            }
                                                                          spids: [32158]
                                                                        )
                                                                      ]
                                                                      spids: [32158]
                                                                    )
                                                                    (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: [32196]
                                                                                )
                                                                              ]
                                                                              spids: [32196]
                                                                            )
                                                                          ]
                                                                          spids: [16777215 32183]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 32202]
                                                                    )
                                                                  ]
                                                                  spids: [32154 32155 32205 16777215]
                                                                )
                                                              ]
                                                              spids: [32120 32124 32208]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (SimpleCommand
                                                                          words: [
                                                                            {($ VSub_Name '$GREP')}
                                                                            {(DQ ('^installed=no'))}
                                                                            {
                                                                              ($ VSub_Name '$deplib')
                                                                            }
                                                                          ]
                                                                          redirects: [
                                                                            (Redir
                                                                              op_id: Redir_Great
                                                                              fd: 16777215
                                                                              arg_word: {(/dev/null)}
                                                                              spids: [32221]
                                                                            )
                                                                          ]
                                                                        )
                                                                      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: [32244]
                                                                                )
                                                                              ]
                                                                              spids: [32244]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: 
deplibrary_names
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (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: [
32248
32262
                                                                                        ]
                                                                                      )
                                                                                    }
                                                                                  spids: [32247]
                                                                                )
                                                                              ]
                                                                              spids: [32247]
                                                                            )
                                                                            (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: [
32293
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
32293
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
32290
32297
                                                                                          ]
                                                                                        )
                                                                                      spids: [
32285
32288
                                                                                      ]
                                                                                    )
                                                                                    (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: [
32319
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
32319
                                                                                              ]
                                                                                            )
                                                                                            (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: [
32330
32346
                                                                                                        ]
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
32329
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
32329
                                                                                              ]
                                                                                            )
                                                                                            (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: [
32364
32380
                                                                                                                ]
                                                                                                              )
                                                                                                            }
                                                                                                          spids: [
32363
                                                                                                          ]
                                                                                                        )
                                                                                                      ]
                                                                                                      spids: [
32363
                                                                                                      ]
                                                                                                    )
                                                                                                  ]
                                                                                                  spids: [
16777215
32360
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
16777215
32383
                                                                                              ]
                                                                                            )
                                                                                            (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: [
32386
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
32386
                                                                                              ]
                                                                                            )
                                                                                            (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: [
32407
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
32407
                                                                                              ]
                                                                                            )
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
path
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: {(EmptyPart)}
                                                                                                  spids: [
32421
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
32421
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
16777215
32316
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
16777215
32424
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
16777215
32277
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [16777215 32427]
                                                                            )
                                                                          ]
                                                                          spids: [
32236
32241
32430
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: [32437]
                                                                                )
                                                                              ]
                                                                              spids: [32437]
                                                                            )
                                                                          ]
                                                                          spids: [
32433
32434
32446
16777215
                                                                          ]
                                                                        )
                                                                      ]
                                                                      spids: [32229 32233 32449]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 32226]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:libdir)
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (CommandSubPart
                                                                            command_list: 
                                                                              (CommandList
                                                                                children: [
                                                                                  (C 
                                                                                    {
                                                                                      (${ VSub_Name 
SED
                                                                                      )
                                                                                    } {(-n)} {(-e)} {(SQ <'s/^libdir=\\(.*\\)$/\\1/p'>)} {($ VSub_Name '$deplib')}
                                                                                  )
                                                                                ]
                                                                              )
                                                                            left_token: 
                                                                              <Left_Backtick '`'>
                                                                            spids: [32456 32470]
                                                                          )
                                                                        }
                                                                      spids: [32455]
                                                                    )
                                                                  ]
                                                                  spids: [32455]
                                                                )
                                                                (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: [32521]
                                                                    )
                                                                  ]
                                                                  spids: [32521]
                                                                )
                                                              ]
                                                              spids: [32452 32528]
                                                            )
                                                          ]
                                                          spids: [32091 32093 32531 16777215]
                                                        )
                                                      ]
                                                      spids: [32072 32076 32534]
                                                    )
                                                    (Case
                                                      to_match: 
                                                        {(DQ (' ') ($ VSub_Name '$deplibs') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$path') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [32548 32555 32557 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: [32563]
                                                                )
                                                              ]
                                                              spids: [32563]
                                                            )
                                                          ]
                                                          spids: [32560 32561 32570 16777215]
                                                        )
                                                      ]
                                                      spids: [32537 32545 32573]
                                                    )
                                                  ]
                                                  spids: [32066 32576]
                                                )
                                              spids: [32062 32064]
                                            )
                                          ]
                                          spids: [16777215 32050]
                                        )
                                      ]
                                      spids: [16777215 32579]
                                    )
                                  ]
                                  spids: [16777215 31742]
                                )
                              ]
                              spids: [16777215 32585]
                            )
                          ]
                          spids: [25481 32591]
                        )
                      spids: [25477 25479]
                    )
                    (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: [32631]
                                        )
                                      ]
                                      spids: [32631]
                                    )
                                    (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: [32639]
                                        )
                                      ]
                                      spids: [32639]
                                    )
                                  ]
                                  spids: [16777215 32628]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:compiler_flags)
                                      op: Equal
                                      rhs: 
                                        {(DQ ($ VSub_Name '$compiler_flags') (' ')) 
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {($ VSub_Name '$ECHO')} 
                                                        {
                                                          (DQ (' ') 
                                                            ($ VSub_Name 
'$new_inherited_linker_flags'
                                                            )
                                                          )
                                                        }
                                                      )
                                                      (C {($ VSub_Name '$SED')} 
                                                        {
                                                          (SQ 
                                                            <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                            >
                                                          )
                                                        }
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [32655 32670]
                                          )
                                        }
                                      spids: [32650]
                                    )
                                  ]
                                  spids: [32650]
                                )
                              ]
                              spids: [32647 32673]
                            )
                          ]
                          spids: [16777215 32610]
                        )
                      ]
                      spids: [16777215 32676]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dependency_libs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$newdependency_libs'))}
                          spids: [32679]
                        )
                      ]
                      spids: [32679]
                    )
                    (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: [32717]
                                        )
                                      ]
                                      spids: [32717]
                                    )
                                  ]
                                  spids: [32714 32725]
                                )
                              spids: [32710 32712]
                            )
                          ]
                          spids: [16777215 32698]
                        )
                      ]
                      spids: [16777215 32728]
                    )
                    (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: [32769]
                                        )
                                      ]
                                      spids: [32769]
                                    )
                                    (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: [32794 32801 32803 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: [32809]
                                                        )
                                                      ]
                                                      spids: [32809]
                                                    )
                                                  ]
                                                  spids: [32806 32807 32816 16777215]
                                                )
                                              ]
                                              spids: [32784 32791 32819]
                                            )
                                          ]
                                          spids: [32781 32822]
                                        )
                                      spids: [32777 32779]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:newlib_search_path)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [32825]
                                        )
                                      ]
                                      spids: [32825]
                                    )
                                  ]
                                  spids: [16777215 32762]
                                )
                              ]
                              spids: [16777215 32828]
                            )
                            (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: [32853]
                                        )
                                      ]
                                      spids: [32853]
                                    )
                                  ]
                                  spids: [16777215 32850]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:vars)
                                      op: Equal
                                      rhs: {(DQ ('compile_deplibs finalize_deplibs'))}
                                      spids: [32862]
                                    )
                                  ]
                                  spids: [32862]
                                )
                              ]
                              spids: [32859 32868]
                            )
                            (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 '\\$'>
                                        ) ($ VSub_Name '$var')
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:new_libs)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [32896]
                                        )
                                      ]
                                      spids: [32896]
                                    )
                                    (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: [32946]
                                                        )
                                                      ]
                                                      spids: [32946]
                                                    )
                                                  ]
                                                  spids: [32942 32944 32953 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(-R) (Lit_Other '*')}]
                                                  spids: [32956 32958 32960 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: [33043]
                                                                )
                                                              ]
                                                              spids: [33043]
                                                            )
                                                          ]
                                                          spids: [33034 33041 33050 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: [33068 33075 33077 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: [33083]
                                                                        )
                                                                      ]
                                                                      spids: [33083]
                                                                    )
                                                                  ]
                                                                  spids: [33080 33081 33090 16777215]
                                                                )
                                                              ]
                                                              spids: [33057 33065 33093]
                                                            )
                                                          ]
                                                          spids: [33053 33054 33096 16777215]
                                                        )
                                                      ]
                                                      spids: [33023 33031 33099]
                                                    )
                                                  ]
                                                  spids: [32963 32964 33102 16777215]
                                                )
                                              ]
                                              spids: [32935 32939 33105]
                                            )
                                          ]
                                          spids: [32908 33108]
                                        )
                                      spids: [32904 32906]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [33111]
                                        )
                                      ]
                                      spids: [33111]
                                    )
                                    (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: [33149 33156 33158 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: [33164]
                                                                )
                                                              ]
                                                              spids: [33164]
                                                            )
                                                          ]
                                                          spids: [33161 33162 33171 16777215]
                                                        )
                                                      ]
                                                      spids: [33138 33146 33174]
                                                    )
                                                  ]
                                                  spids: [33133 33135 33177 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: [33183]
                                                        )
                                                      ]
                                                      spids: [33183]
                                                    )
                                                  ]
                                                  spids: [33180 33181 33190 16777215]
                                                )
                                              ]
                                              spids: [33126 33130 33193]
                                            )
                                          ]
                                          spids: [33123 33196]
                                        )
                                      spids: [33119 33121]
                                    )
                                    (C {(eval)} 
                                      {($ VSub_Name '$var') (Lit_Other '=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\$'>
                                        ) (tmp_libs)
                                      }
                                    )
                                  ]
                                  spids: [32882 33207]
                                )
                              spids: [32876 32880]
                            )
                          ]
                          spids: [16777215 32745]
                        )
                      ]
                      spids: [16777215 33213]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:tmp_libs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [33224]
                        )
                      ]
                      spids: [33224]
                    )
                    (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: [33265]
                                        )
                                      ]
                                      spids: [33265]
                                    )
                                  ]
                                  spids: [33255 33262 33270 16777215]
                                )
                              ]
                              spids: [33240 33252 33273]
                            )
                            (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: [33291]
                                        )
                                      ]
                                      spids: [33291]
                                    )
                                  ]
                                  spids: [16777215 33288]
                                )
                              ]
                              spids: [16777215 33299]
                            )
                          ]
                          spids: [33237 33302]
                        )
                      spids: [33232 33235]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dependency_libs)
                          op: Equal
                          rhs: {($ VSub_Name '$tmp_libs')}
                          spids: [33305]
                        )
                      ]
                      spids: [33305]
                    )
                  ]
                  spids: [25099 33309]
                )
              spids: [25095 25097]
            )
            (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: [33331]
                        )
                      ]
                      spids: [33331]
                    )
                  ]
                  spids: [16777215 33328]
                )
              ]
              spids: [16777215 33337]
            )
            (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: [33368]
                        )
                      ]
                      spids: [33368]
                    )
                  ]
                  spids: [16777215 33365]
                )
              ]
              spids: [16777215 33374]
            )
            (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 33414]
                        )
                      ]
                      spids: [16777215 33425]
                    )
                    (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: [33439 33450 33462 16777215]
                        )
                      ]
                      spids: [33429 33436 33465]
                    )
                    (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: [33579]
                        )
                      ]
                      spids: [33579]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlibs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$output'))}
                          spids: [33583]
                        )
                      ]
                      spids: [33583]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:objs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$objs') ($ VSub_Name '$old_deplibs'))}
                          spids: [33589]
                        )
                      ]
                      spids: [33589]
                    )
                  ]
                  spids: [33385 33386 33596 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: [33635]
                                )
                              ]
                              spids: [33635]
                            )
                            (C {(eval)} 
                              {
                                (DQ ('shared_ext=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                  ($ VSub_Name '$shrext_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                )
                              }
                            )
                            (C {(eval)} 
                              {
                                (DQ ('libname=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                  ($ VSub_Name '$libname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                )
                              }
                            )
                          ]
                          spids: [33615 33617 33659 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: [33728]
                                        )
                                      ]
                                      spids: [33728]
                                    )
                                    (C {(eval)} 
                                      {
                                        (DQ ('shared_ext=') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\"'>
                                          ) ($ VSub_Name '$shrext_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                        )
                                      }
                                    )
                                    (C {(eval)} 
                                      {
                                        (DQ ('libname=') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\"'>
                                          ) ($ VSub_Name '$libname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                        )
                                      }
                                    )
                                  ]
                                  spids: [16777215 33707]
                                )
                              ]
                              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: [33769]
                                    )
                                  ]
                                  spids: [33769]
                                )
                              ]
                              spids: [33752 33773]
                            )
                          ]
                          spids: [33662 33663 33776 16777215]
                        )
                      ]
                      spids: [33608 33612 33779]
                    )
                    (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 33811]
                                )
                              ]
                              else_action: [
                                (C {(echo)})
                                (C {($ VSub_Name '$ECHO')} 
                                  {
                                    (DQ ('*** Warning: Linking the shared library ') 
                                      ($ VSub_Name '$output') (' against the non-libtool')
                                    )
                                  }
                                )
                                (C {($ VSub_Name '$ECHO')} 
                                  {(DQ ('*** objects ') ($ VSub_Name '$objs') (' is not portable!'))}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:libobjs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$libobjs') (' ') ($ VSub_Name '$objs'))}
                                      spids: [33849]
                                    )
                                  ]
                                  spids: [33849]
                                )
                              ]
                              spids: [33825 33857]
                            )
                          ]
                          spids: [16777215 33794]
                        )
                      ]
                      spids: [16777215 33860]
                    )
                    (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: [33922]
                        )
                      ]
                      spids: [33922]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlibs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [33929]
                        )
                      ]
                      spids: [33929]
                    )
                    (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: [33978]
                                        )
                                      ]
                                      spids: [33978]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:build_libtool_libs)
                                          op: Equal
                                          rhs: {(convenience)}
                                          spids: [33990]
                                        )
                                      ]
                                      spids: [33990]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:build_old_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [33994]
                                        )
                                      ]
                                      spids: [33994]
                                    )
                                  ]
                                  spids: [16777215 33959]
                                )
                              ]
                              spids: [16777215 33998]
                            )
                            (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 33943]
                        )
                      ]
                      else_action: [
                        (Sentence
                          child: 
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:save_ifs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$IFS'))}
                                  spids: [34051]
                                )
                              ]
                              spids: [34051]
                            )
                          terminator: <Op_Semi ';'>
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:IFS)
                              op: Equal
                              rhs: {(SQ <':'>)}
                              spids: [34057]
                            )
                          ]
                          spids: [34057]
                        )
                        (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: [34079]
                            )
                          ]
                          spids: [34079]
                        )
                        (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: [34132]
                                    )
                                  ]
                                  spids: [34132]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:number_minor)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number '$2'))}
                                      spids: [34138]
                                    )
                                  ]
                                  spids: [34138]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:number_revision)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number '$3'))}
                                      spids: [34144]
                                    )
                                  ]
                                  spids: [34144]
                                )
                                (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: [34206]
                                            )
                                          ]
                                          spids: [34206]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$number_minor'))}
                                              spids: [34210]
                                            )
                                          ]
                                          spids: [34210]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$number_revision'))}
                                              spids: [34216]
                                            )
                                          ]
                                          spids: [34216]
                                        )
                                      ]
                                      spids: [34185 34194 34222 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(freebsd-aout)} {(freebsd-elf)} {(qnx)} {(sunos)}]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:current)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$number_major'))}
                                              spids: [34235]
                                            )
                                          ]
                                          spids: [34235]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$number_minor'))}
                                              spids: [34241]
                                            )
                                          ]
                                          spids: [34241]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {(DQ (0))}
                                              spids: [34247]
                                            )
                                          ]
                                          spids: [34247]
                                        )
                                      ]
                                      spids: [34225 34232 34253 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: [34271]
                                            )
                                          ]
                                          spids: [34271]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$number_minor'))}
                                              spids: [34275]
                                            )
                                          ]
                                          spids: [34275]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$number_minor'))}
                                              spids: [34281]
                                            )
                                          ]
                                          spids: [34281]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:lt_irix_increment)
                                              op: Equal
                                              rhs: {(no)}
                                              spids: [34287]
                                            )
                                          ]
                                          spids: [34287]
                                        )
                                      ]
                                      spids: [34256 34259 34291 16777215]
                                    )
                                  ]
                                  spids: [34178 34182 34294]
                                )
                              ]
                              spids: [34128 34129 34297 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: [34304]
                                    )
                                  ]
                                  spids: [34304]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:revision)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number '$2'))}
                                      spids: [34310]
                                    )
                                  ]
                                  spids: [34310]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:age)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number '$3'))}
                                      spids: [34316]
                                    )
                                  ]
                                  spids: [34316]
                                )
                              ]
                              spids: [34300 34301 34322 16777215]
                            )
                          ]
                          spids: [34121 34125 34325]
                        )
                        (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: [34340 34391 34393 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: [34396 34397 34419 16777215]
                            )
                          ]
                          spids: [34333 34337 34422]
                        )
                        (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: [34433 34484 34486 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: [34489 34490 34512 16777215]
                            )
                          ]
                          spids: [34426 34430 34515]
                        )
                        (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: [34526 34577 34579 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: [34582 34583 34605 16777215]
                            )
                          ]
                          spids: [34519 34523 34608]
                        )
                        (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 34627]
                            )
                          ]
                          spids: [16777215 34652]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:major)
                              op: Equal
                              rhs: {(EmptyPart)}
                              spids: [34660]
                            )
                          ]
                          spids: [34660]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:versuffix)
                              op: Equal
                              rhs: {(EmptyPart)}
                              spids: [34663]
                            )
                          ]
                          spids: [34663]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:verstring)
                              op: Equal
                              rhs: {(EmptyPart)}
                              spids: [34666]
                            )
                          ]
                          spids: [34666]
                        )
                        (Case
                          to_match: {($ VSub_Name '$version_type')}
                          arms: [
                            (case_arm
                              pat_list: [{(none)}]
                              spids: [34676 34677 34679 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: [34704]
                                    )
                                  ]
                                  spids: [34704]
                                )
                                (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: [34709]
                                    )
                                  ]
                                  spids: [34709]
                                )
                                (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: [34732]
                                    )
                                  ]
                                  spids: [34732]
                                )
                                (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: [34736]
                                    )
                                  ]
                                  spids: [34736]
                                )
                                (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: [34760]
                                    )
                                  ]
                                  spids: [34760]
                                )
                              ]
                              spids: [34683 34684 34771 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: [34779]
                                    )
                                  ]
                                  spids: [34779]
                                )
                                (Sentence
                                  child: 
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:versuffix)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ (.) ($ VSub_Name '$current') (.) 
                                                ($ VSub_Name '$revision')
                                              )
                                            }
                                          spids: [34786]
                                        )
                                      ]
                                      spids: [34786]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              spids: [34775 34776 34796 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: [34804]
                                    )
                                  ]
                                  spids: [34804]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(DQ (.) ($ VSub_Name '$current'))}
                                      spids: [34811]
                                    )
                                  ]
                                  spids: [34811]
                                )
                              ]
                              spids: [34800 34801 34818 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 34846]
                                    )
                                  ]
                                  else_action: [
                                    (C {(func_arith)} {($ VSub_Name '$current')} {(-)} 
                                      {($ VSub_Name '$age')} {(Lit_Other '+')} {(1)}
                                    )
                                  ]
                                  spids: [34858 34874]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {($ VSub_Name '$func_arith_result')}
                                      spids: [34877]
                                    )
                                  ]
                                  spids: [34877]
                                )
                                (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: [34892]
                                            )
                                          ]
                                          spids: [34892]
                                        )
                                      ]
                                      spids: [34889 34890 34895 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: [34901]
                                            )
                                          ]
                                          spids: [34901]
                                        )
                                      ]
                                      spids: [34898 34899 34904 16777215]
                                    )
                                  ]
                                  spids: [34882 34886 34907]
                                )
                                (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: [34910]
                                    )
                                  ]
                                  spids: [34910]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:loop)
                                      op: Equal
                                      rhs: {($ VSub_Name '$revision')}
                                      spids: [34924]
                                    )
                                  ]
                                  spids: [34924]
                                )
                                (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: [34953]
                                            )
                                          ]
                                          spids: [34953]
                                        )
                                        (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: [34966]
                                            )
                                          ]
                                          spids: [34966]
                                        )
                                        (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: [34970]
                                            )
                                          ]
                                          spids: [34970]
                                        )
                                      ]
                                      spids: [34941 34981]
                                    )
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$major')}
                                      spids: [34989]
                                    )
                                  ]
                                  spids: [34989]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$major') (.) ($ VSub_Name '$revision'))}
                                      spids: [34994]
                                    )
                                  ]
                                  spids: [34994]
                                )
                              ]
                              spids: [34822 34827 35002 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: [35019]
                                    )
                                  ]
                                  spids: [35019]
                                )
                                (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: [35024]
                                    )
                                  ]
                                  spids: [35024]
                                )
                              ]
                              spids: [35006 35007 35034 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: [35051]
                                    )
                                  ]
                                  spids: [35051]
                                )
                                (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: [35056]
                                    )
                                  ]
                                  spids: [35056]
                                )
                                (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: [35067]
                                    )
                                  ]
                                  spids: [35067]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:loop)
                                      op: Equal
                                      rhs: {($ VSub_Name '$age')}
                                      spids: [35082]
                                    )
                                  ]
                                  spids: [35082]
                                )
                                (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: [35111]
                                            )
                                          ]
                                          spids: [35111]
                                        )
                                        (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: [35124]
                                            )
                                          ]
                                          spids: [35124]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$verstring') (':') 
                                                    (${ VSub_Name iface) (.0)
                                                  )
                                                }
                                              spids: [35128]
                                            )
                                          ]
                                          spids: [35128]
                                        )
                                      ]
                                      spids: [35099 35139]
                                    )
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:verstring)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$verstring') (':') (${ VSub_Name current) 
                                            (.0)
                                          )
                                        }
                                      spids: [35147]
                                    )
                                  ]
                                  spids: [35147]
                                )
                              ]
                              spids: [35038 35039 35158 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: [35166]
                                    )
                                  ]
                                  spids: [35166]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(DQ (.) ($ VSub_Name '$current'))}
                                      spids: [35173]
                                    )
                                  ]
                                  spids: [35173]
                                )
                              ]
                              spids: [35162 35163 35180 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: [35188]
                                    )
                                  ]
                                  spids: [35188]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ (.) ($ VSub_Name '$current') (.) ($ VSub_Name '$revision'))
                                        }
                                      spids: [35195]
                                    )
                                  ]
                                  spids: [35195]
                                )
                              ]
                              spids: [35184 35185 35204 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: [35229]
                                    )
                                  ]
                                  spids: [35229]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(DQ (-) ($ VSub_Name '$major'))}
                                      spids: [35233]
                                    )
                                  ]
                                  spids: [35233]
                                )
                              ]
                              spids: [35208 35209 35240 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: [35244 35245 35258 16777215]
                            )
                          ]
                          spids: [34669 34673 35261]
                        )
                        (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: [35293]
                                    )
                                  ]
                                  spids: [35293]
                                )
                                (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: [35315]
                                            )
                                          ]
                                          spids: [35315]
                                        )
                                      ]
                                      spids: [35303 35304 35318 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: [35325]
                                            )
                                          ]
                                          spids: [35325]
                                        )
                                      ]
                                      spids: [35321 35322 35331 16777215]
                                    )
                                  ]
                                  spids: [35296 35300 35334]
                                )
                                (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: [35353]
                                            )
                                          ]
                                          spids: [35353]
                                        )
                                      ]
                                      spids: [16777215 35350]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:versuffix)
                                          op: Equal
                                          rhs: {(DQ (.0.0))}
                                          spids: [35359]
                                        )
                                      ]
                                      spids: [35359]
                                    )
                                  ]
                                  spids: [35356 35365]
                                )
                              ]
                              spids: [16777215 35290]
                            )
                          ]
                          spids: [16777215 35368]
                        )
                        (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: [35404]
                                    )
                                  ]
                                  spids: [35404]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(EmptyPart)}
                                      spids: [35407]
                                    )
                                  ]
                                  spids: [35407]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:verstring)
                                      op: Equal
                                      rhs: {(DQ )}
                                      spids: [35410]
                                    )
                                  ]
                                  spids: [35410]
                                )
                              ]
                              spids: [16777215 35401]
                            )
                          ]
                          spids: [16777215 35415]
                        )
                        (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: [35464]
                                            )
                                          ]
                                          spids: [35464]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:build_old_libs)
                                              op: Equal
                                              rhs: {(yes)}
                                              spids: [35468]
                                            )
                                          ]
                                          spids: [35468]
                                        )
                                      ]
                                      spids: [16777215 35452]
                                    )
                                  ]
                                  spids: [16777215 35472]
                                )
                              ]
                              spids: [16777215 35436]
                            )
                          ]
                          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: [35482]
                                )
                              ]
                              spids: [35482]
                            )
                          ]
                          spids: [35475 35488]
                        )
                      ]
                      spids: [34043 35492]
                    )
                    (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: [35511]
                        )
                      ]
                      spids: [35511]
                    )
                    (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: [35534]
                            )
                          ]
                          spids: [35534]
                        )
                      ]
                    )
                    (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: [35563]
                                )
                              ]
                              spids: [35563]
                            )
                            (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: [35567 35574]
                                      )
                                    }
                                  spids: [35566]
                                )
                              ]
                              spids: [35566]
                            )
                            (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: [35596 35604 35607 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_id: Redir_Great
                                                                      fd: 16777215
                                                                      arg_word: {(/dev/null)}
                                                                      spids: [35675]
                                                                    )
                                                                    (Redir
                                                                      op_id: Redir_GreatAnd
                                                                      fd: 2
                                                                      arg_word: {(1)}
                                                                      spids: [35678]
                                                                    )
                                                                  ]
                                                                )
                                                              ]
                                                              negated: F
                                                            )
                                                          ]
                                                          action: [
                                                            (ControlFlow
                                                              token: <ControlFlow_Continue continue>
                                                            )
                                                          ]
                                                          spids: [16777215 35682]
                                                        )
                                                      ]
                                                      spids: [16777215 35688]
                                                    )
                                                  ]
                                                  spids: [16777215 35654]
                                                )
                                              ]
                                              spids: [16777215 35691]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:removelist)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$removelist') (' ') 
                                                        ($ VSub_Name '$p')
                                                      )
                                                    }
                                                  spids: [35694]
                                                )
                                              ]
                                              spids: [35694]
                                            )
                                          ]
                                          spids: [35610 35634 35702 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          spids: [35705 35706 35708 16777215]
                                        )
                                      ]
                                      spids: [35589 35593 35711]
                                    )
                                  ]
                                  spids: [35586 35714]
                                )
                              spids: [35582 35584]
                            )
                            (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 35552]
                        )
                      ]
                      spids: [16777215 35741]
                    )
                    (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: [35779]
                                )
                              ]
                              spids: [35779]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: 
                                    {(DQ ($ VSub_Name '$objs') (' ')) 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ ($ VSub_Name '$libobjs'))}
                                                  )
                                                  (C {($ VSub_Name '$SP2NL')})
                                                  (C {($ VSub_Name '$SED')} 
                                                    {
                                                      (DQ (/) (Lit_Other '\\') (.) (${ VSub_Name libext) 
                                                        (Lit_Other '$') ('/d; ') ($ VSub_Name '$lo2o')
                                                      )
                                                    }
                                                  )
                                                  (C {($ VSub_Name '$NL2SP')})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [35801 35831]
                                      )
                                    }
                                  spids: [35796]
                                )
                              ]
                              spids: [35796]
                            )
                          ]
                          spids: [16777215 35776]
                        )
                      ]
                      spids: [16777215 35834]
                    )
                    (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: [35881]
                                )
                              ]
                              spids: [35881]
                            )
                            (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: [35896]
                                        )
                                      ]
                                      spids: [35896]
                                    )
                                    (Case
                                      to_match: {(DQ ($ VSub_Name '$finalize_rpath') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$libdir') (' ')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [35914 35921 35923 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: [35929]
                                                )
                                              ]
                                              spids: [35929]
                                            )
                                          ]
                                          spids: [35926 35927 35936 16777215]
                                        )
                                      ]
                                      spids: [35904 35911 35939]
                                    )
                                  ]
                                  spids: [35893 35942]
                                )
                              spids: [35889 35891]
                            )
                            (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: [35974]
                                        )
                                      ]
                                      spids: [35974]
                                    )
                                  ]
                                  spids: [16777215 35971]
                                )
                              ]
                              spids: [16777215 35982]
                            )
                          ]
                          spids: [16777215 35874]
                        )
                      ]
                      spids: [16777215 35985]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_dlfiles)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$dlfiles'))}
                          spids: [35993]
                        )
                      ]
                      spids: [35993]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlfiles)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [35999]
                        )
                      ]
                      spids: [35999]
                    )
                    (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: [36027 36034 36036 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: [36042]
                                        )
                                      ]
                                      spids: [36042]
                                    )
                                  ]
                                  spids: [36039 36040 36049 16777215]
                                )
                              ]
                              spids: [36014 36024 36052]
                            )
                          ]
                          spids: [36011 36055]
                        )
                      spids: [36007 36009]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_dlprefiles)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$dlprefiles'))}
                          spids: [36063]
                        )
                      ]
                      spids: [36063]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlprefiles)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [36069]
                        )
                      ]
                      spids: [36069]
                    )
                    (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: [36094 36101 36103 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: [36109]
                                        )
                                      ]
                                      spids: [36109]
                                    )
                                  ]
                                  spids: [36106 36107 36116 16777215]
                                )
                              ]
                              spids: [36084 36091 36119]
                            )
                          ]
                          spids: [36081 36122]
                        )
                      spids: [36077 36079]
                    )
                    (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 '*')}
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-haiku) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [36163 36214 36221 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: [36246]
                                                )
                                              ]
                                              spids: [36246]
                                            )
                                          ]
                                          spids: [36224 36239 36253 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-netbsd) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [36256 36261 36268 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: [36271 36292 36299 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sco3.2v5) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sco5v6) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [36302 36315 36322 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: [36325 36354 36361 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: [36390]
                                                        )
                                                      ]
                                                      spids: [36390]
                                                    )
                                                  ]
                                                  spids: [16777215 36387]
                                                )
                                              ]
                                              spids: [16777215 36397]
                                            )
                                          ]
                                          spids: [36364 36365 36400 16777215]
                                        )
                                      ]
                                      spids: [36156 36160 36403]
                                    )
                                  ]
                                  spids: [16777215 36153]
                                )
                              ]
                              spids: [16777215 36406]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$name')}
                                  spids: [36414]
                                )
                              ]
                              spids: [36414]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libname_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$libname')}
                                  spids: [36418]
                                )
                              ]
                              spids: [36418]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$release')}
                                  spids: [36422]
                                )
                              ]
                              spids: [36422]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$versuffix')}
                                  spids: [36426]
                                )
                              ]
                              spids: [36426]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$major')}
                                  spids: [36430]
                                )
                              ]
                              spids: [36430]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [36446]
                                )
                              ]
                              spids: [36446]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [36451]
                                )
                              ]
                              spids: [36451]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [36456]
                                )
                              ]
                              spids: [36456]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:newdeplibs)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [36461]
                                )
                              ]
                              spids: [36461]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:droppeddeps)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [36464]
                                )
                              ]
                              spids: [36464]
                            )
                            (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: [36499]
                                        )
                                      ]
                                      spids: [36499]
                                    )
                                  ]
                                  spids: [36475 36476 36503 16777215]
                                )
                                (case_arm
                                  pat_list: [{(test_compile)}]
                                  action: [
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (C {($ VSub_Name '$RM')} {(conftest.c)})
                                      ]
                                    )
                                    (SimpleCommand
                                      words: [{(cat)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: 16777215
                                          arg_word: {(conftest.c)}
                                          spids: [36537]
                                        )
                                        (HereDoc
                                          op_id: Redir_DLess
                                          fd: 16777215
                                          body: {(DQ ('\t  int main() { return 0; }\n'))}
                                          do_expansion: True
                                          here_end: EOF
                                          was_filled: T
                                          spids: [36541]
                                        )
                                      ]
                                    )
                                    (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: [36575 36579]
                                                      )
                                                    }
                                                  spids: [36574]
                                                )
                                              ]
                                              spids: [36574]
                                            )
                                            (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: [36618]
                                                                )
                                                              ]
                                                              spids: [36618]
                                                            )
                                                            (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: [36665]
                                                                                )
                                                                              ]
                                                                              spids: [36665]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: i
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(DQ )}
                                                                                  spids: [36673]
                                                                                )
                                                                              ]
                                                                              spids: [36673]
                                                                            )
                                                                          ]
                                                                          spids: [
36655
36662
36678
16777215
                                                                          ]
                                                                        )
                                                                      ]
                                                                      spids: [36642 36652 36681]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 36639]
                                                                )
                                                              ]
                                                              spids: [16777215 36684]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-n)} 
                                                                          {(DQ ($ VSub_Name '$i'))}
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (C {(eval)} 
                                                                      {
                                                                        (DQ ('libname=') 
                                                                          (EscapedLiteralPart
                                                                            token: 
                                                                              <Lit_EscapedChar 
'\\"'
                                                                              >
                                                                          ) ($ VSub_Name '$libname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {(eval)} 
                                                                      {
                                                                        (DQ ('deplib_matches=') 
                                                                          (EscapedLiteralPart
                                                                            token: 
                                                                              <Lit_EscapedChar 
'\\"'
                                                                              >
                                                                          ) ($ VSub_Name '$library_names_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                        )
                                                                      }
                                                                    )
                                                                    (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: [36732]
                                                                        )
                                                                      ]
                                                                      spids: [36732]
                                                                    )
                                                                    (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: [
36740
36753
                                                                                      ]
                                                                                    )
                                                                                  } {(-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: [36764]
                                                                                )
                                                                              ]
                                                                              spids: [36764]
                                                                            )
                                                                          ]
                                                                          spids: [16777215 36761]
                                                                        )
                                                                      ]
                                                                      else_action: [
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (LhsName
                                                                                  name: droppeddeps
                                                                                )
                                                                              op: Equal
                                                                              rhs: {(yes)}
                                                                              spids: [36775]
                                                                            )
                                                                          ]
                                                                          spids: [36775]
                                                                        )
                                                                        (C {(echo)})
                                                                        (C {($ VSub_Name '$ECHO')} 
                                                                          {
                                                                            (DQ 
                                                                              (
'*** Warning: dynamic linker does not accept needed library '
                                                                              ) ($ VSub_Name '$i') (.)
                                                                            )
                                                                          }
                                                                        )
                                                                        (C {(echo)} 
                                                                          {
                                                                            (DQ 
                                                                              (
'*** I have the capability to make that library automatically link in when'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                        (C {(echo)} 
                                                                          {
                                                                            (DQ 
                                                                              (
'*** you link to this library.  But I can only do this if you have a'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                        (C {(echo)} 
                                                                          {
                                                                            (DQ 
                                                                              (
'*** shared version of the library, which I believe you do not have'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                        (C {(echo)} 
                                                                          {
                                                                            (DQ 
                                                                              (
'*** because a test_compile did reveal that the linker did not use it for'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                        (C {(echo)} 
                                                                          {
                                                                            (DQ 
                                                                              (
'*** its dynamic dependency list that programs get resolved with at runtime.'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                      ]
                                                                      spids: [36772 36826]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 36699]
                                                                )
                                                              ]
                                                              spids: [16777215 36829]
                                                            )
                                                          ]
                                                          spids: [36601 36603 36832 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: [36839]
                                                                )
                                                              ]
                                                              spids: [36839]
                                                            )
                                                          ]
                                                          spids: [36835 36836 36847 16777215]
                                                        )
                                                      ]
                                                      spids: [36594 36598 36850]
                                                    )
                                                  ]
                                                  spids: [36591 36853]
                                                )
                                              spids: [36587 36589]
                                            )
                                          ]
                                          spids: [16777215 36571]
                                        )
                                      ]
                                      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: [36903]
                                                            )
                                                          ]
                                                          spids: [36903]
                                                        )
                                                        (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: [36935 36939]
                                                                          )
                                                                        }
                                                                      spids: [36934]
                                                                    )
                                                                  ]
                                                                  spids: [36934]
                                                                )
                                                                (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: [36985]
                                                                                    )
                                                                                  ]
                                                                                  spids: [36985]
                                                                                )
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: i
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: {(DQ )}
                                                                                      spids: [36993]
                                                                                    )
                                                                                  ]
                                                                                  spids: [36993]
                                                                                )
                                                                              ]
                                                                              spids: [
36975
36982
36998
16777215
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [36962 36972 37001]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 36959]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 37004]
                                                                )
                                                                (If
                                                                  arms: [
                                                                    (if_arm
                                                                      cond: [
                                                                        (Sentence
                                                                          child: 
                                                                            (C {(test)} {(-n)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name '$i')
                                                                                )
                                                                              }
                                                                            )
                                                                          terminator: <Op_Semi ';'>
                                                                        )
                                                                      ]
                                                                      action: [
                                                                        (C {(eval)} 
                                                                          {
                                                                            (DQ ('libname=') 
                                                                              (EscapedLiteralPart
                                                                                token: 
                                                                                  <Lit_EscapedChar 
'\\"'
                                                                                  >
                                                                              ) ($ VSub_Name '$libname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                            )
                                                                          }
                                                                        )
                                                                        (C {(eval)} 
                                                                          {
                                                                            (DQ ('deplib_matches=') 
                                                                              (EscapedLiteralPart
                                                                                token: 
                                                                                  <Lit_EscapedChar 
'\\"'
                                                                                  >
                                                                              ) ($ VSub_Name '$library_names_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                            )
                                                                          }
                                                                        )
                                                                        (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: [37052]
                                                                            )
                                                                          ]
                                                                          spids: [37052]
                                                                        )
                                                                        (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: [
37060
37073
                                                                                          ]
                                                                                        )
                                                                                      } {(-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: [37084]
                                                                                    )
                                                                                  ]
                                                                                  spids: [37084]
                                                                                )
                                                                              ]
                                                                              spids: [16777215 37081]
                                                                            )
                                                                          ]
                                                                          else_action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: 
droppeddeps
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(yes)}
                                                                                  spids: [37095]
                                                                                )
                                                                              ]
                                                                              spids: [37095]
                                                                            )
                                                                            (C {(echo)})
                                                                            (C {($ VSub_Name '$ECHO')} 
                                                                              {
                                                                                (DQ 
                                                                                  (
'*** Warning: dynamic linker does not accept needed library '
                                                                                  ) ($ VSub_Name '$i') (.)
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {(echo)} 
                                                                              {
                                                                                (DQ 
                                                                                  (
'*** I have the capability to make that library automatically link in when'
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {(echo)} 
                                                                              {
                                                                                (DQ 
                                                                                  (
'*** you link to this library.  But I can only do this if you have a'
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {(echo)} 
                                                                              {
                                                                                (DQ 
                                                                                  (
'*** shared version of the library, which you do not appear to have'
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {(echo)} 
                                                                              {
                                                                                (DQ 
                                                                                  (
'*** because a test_compile did reveal that the linker did not use this one'
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {(echo)} 
                                                                              {
                                                                                (DQ 
                                                                                  (
'*** as a dynamic dependency that programs can get resolved with at runtime.'
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                          ]
                                                                          spids: [37092 37146]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 37019]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 37149]
                                                                )
                                                              ]
                                                              spids: [16777215 36931]
                                                            )
                                                          ]
                                                          else_action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:droppeddeps)
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [37155]
                                                                )
                                                              ]
                                                              spids: [37155]
                                                            )
                                                            (C {(echo)})
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ ('*** Warning!  Library ') 
                                                                  ($ VSub_Name '$i') (' is needed by this library but I was not able to')
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** make it link in!  You will probably need to install it or some'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** library that it depends on before this library will be fully'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** functional.  Installing it before continuing would be even better.'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [37152 37192]
                                                        )
                                                      ]
                                                      spids: [36886 36888 37195 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: [37202]
                                                            )
                                                          ]
                                                          spids: [37202]
                                                        )
                                                      ]
                                                      spids: [37198 37199 37210 16777215]
                                                    )
                                                  ]
                                                  spids: [36879 36883 37213]
                                                )
                                              ]
                                              spids: [36876 37216]
                                            )
                                          spids: [36872 36874]
                                        )
                                      ]
                                      spids: [36856 37219]
                                    )
                                  ]
                                  spids: [36506 36507 37222 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: [37241 37258]
                                              )
                                            }
                                          spids: [37240]
                                        )
                                      ]
                                      spids: [37240]
                                    )
                                    (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: [37297]
                                                        )
                                                      ]
                                                      spids: [37297]
                                                    )
                                                    (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: [37344]
                                                                        )
                                                                      ]
                                                                      spids: [37344]
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: a_deplib
                                                                            )
                                                                          op: Equal
                                                                          rhs: {(DQ )}
                                                                          spids: [37352]
                                                                        )
                                                                      ]
                                                                      spids: [37352]
                                                                    )
                                                                  ]
                                                                  spids: [37334 37341 37357 16777215]
                                                                )
                                                              ]
                                                              spids: [37321 37331 37360]
                                                            )
                                                          ]
                                                          spids: [16777215 37318]
                                                        )
                                                      ]
                                                      spids: [16777215 37363]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(-n)} 
                                                                  {(DQ ($ VSub_Name '$a_deplib'))}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (C {(eval)} 
                                                              {
                                                                (DQ ('libname=') 
                                                                  (EscapedLiteralPart
                                                                    token: <Lit_EscapedChar '\\"'>
                                                                  ) ($ VSub_Name '$libname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                )
                                                              }
                                                            )
                                                            (ForEach
                                                              iter_name: i
                                                              iter_words: [
                                                                {($ VSub_Name '$lib_search_path')}
                                                                {
                                                                  ($ VSub_Name '$sys_lib_search_path')
                                                                }
                                                                {($ VSub_Name '$shlib_search_path')}
                                                              ]
                                                              do_arg_iter: F
                                                              body: 
                                                                (DoGroup
                                                                  children: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: potential_libs
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (SimpleCommand
                                                                                        words: [
                                                                                          {(ls)}
                                                                                          {
                                                                                            ($ 
VSub_Name '$i'
                                                                                            ) (/) ($ VSub_Name '$libname') (Lit_Other '[') (.-) (Lit_Other ']') (Lit_Other '*')
                                                                                          }
                                                                                        ]
                                                                                        redirects: [
                                                                                          (Redir
                                                                                            op_id: 
Redir_Great
                                                                                            fd: 2
                                                                                            arg_word: 
                                                                                              {
                                                                                                (
/dev/null
                                                                                                )
                                                                                              }
                                                                                            spids: [
37419
                                                                                            ]
                                                                                          )
                                                                                        ]
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
'`'
                                                                                  >
                                                                                spids: [37408 37421]
                                                                              )
                                                                            }
                                                                          spids: [37407]
                                                                        )
                                                                      ]
                                                                      spids: [37407]
                                                                    )
                                                                    (ForEach
                                                                      iter_name: potent_lib
                                                                      iter_words: [
                                                                        {
                                                                          ($ VSub_Name 
'$potential_libs'
                                                                          )
                                                                        }
                                                                      ]
                                                                      do_arg_iter: F
                                                                      body: 
                                                                        (DoGroup
                                                                          children: [
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (Pipeline
                                                                                          children: [
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  (
ls
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (
-lLd
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    ($ 
VSub_Name '$potent_lib'
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
2
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
37450
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  ($ 
VSub_Name '$GREP'
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    (
' -> '
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
16777215
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
37462
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          negated: F
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
';'
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Continue continue
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  spids: [
16777215
37466
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [16777215 37472]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: potlib
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
'$potent_lib'
                                                                                        )
                                                                                      )
                                                                                    }
                                                                                  spids: [37495]
                                                                                )
                                                                              ]
                                                                              spids: [37495]
                                                                            )
                                                                            (While
                                                                              cond: [
                                                                                (Sentence
                                                                                  child: 
                                                                                    (SimpleCommand
                                                                                      words: [
                                                                                        {(test)}
                                                                                        {(-h)}
                                                                                        {
                                                                                          (DQ 
                                                                                            ($ 
VSub_Name '$potlib'
                                                                                            )
                                                                                          )
                                                                                        }
                                                                                      ]
                                                                                      redirects: [
                                                                                        (Redir
                                                                                          op_id: 
Redir_Great
                                                                                          fd: 2
                                                                                          arg_word: 
                                                                                            {
                                                                                              (
/dev/null
                                                                                              )
                                                                                            }
                                                                                          spids: [
37511
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  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: [
37519
37535
                                                                                                ]
                                                                                              )
                                                                                            }
                                                                                          spids: [
37518
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [37518]
                                                                                    )
                                                                                    (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: [
37564
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
37564
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
37545
37562
37568
16777215
                                                                                          ]
                                                                                        )
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              (
Lit_Other '*'
                                                                                              )
                                                                                            }
                                                                                          ]
                                                                                          action: [
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
potlib
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      (CommandSubPart
                                                                                                        command_list: 
                                                                                                          (CommandList
                                                                                                            children: [
                                                                                                              (Pipeline
                                                                                                                children: [
                                                                                                                  (C 
                                                                                                                    {
                                                                                                                      ($ 
VSub_Name '$ECHO'
                                                                                                                      )
                                                                                                                    } {(DQ ($ VSub_Name '$potlib'))}
                                                                                                                  )
                                                                                                                  (C 
                                                                                                                    {
                                                                                                                      ($ 
VSub_Name '$SED'
                                                                                                                      )
                                                                                                                    } {(SQ <'s,[^/]*$,,'>)}
                                                                                                                  )
                                                                                                                ]
                                                                                                                negated: 
F
                                                                                                              )
                                                                                                            ]
                                                                                                          )
                                                                                                        left_token: 
                                                                                                          <
Left_Backtick '`'
                                                                                                          >
                                                                                                        spids: [
37575
37589
                                                                                                        ]
                                                                                                      ) (DQ ($ VSub_Name '$potliblink'))
                                                                                                    }
                                                                                                  spids: [
37574
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
37574
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
37571
37572
37593
16777215
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
37538
37542
37596
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [37515 37599]
                                                                                )
                                                                            )
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (Pipeline
                                                                                          children: [
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  (
eval
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    ($ 
VSub_Name '$file_magic_cmd'
                                                                                                    ) (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                                                                                    (EscapedLiteralPart
                                                                                                      token: 
                                                                                                        <
Lit_EscapedChar '\\$'
                                                                                                        >
                                                                                                    ) (potlib) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
2
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
37615
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                ($ 
VSub_Name '$SED'
                                                                                                )
                                                                                              } {(-e)} {(10q)}
                                                                                            )
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  ($ 
VSub_Name '$EGREP'
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    ($ 
VSub_Name '$file_magic_regex'
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
16777215
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
37636
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          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: [
37644
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [37644]
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
a_deplib
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: {(DQ )}
                                                                                          spids: [
37652
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [37652]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Break break
                                                                                        >
                                                                                      arg_word: {(2)}
                                                                                    )
                                                                                  ]
                                                                                  spids: [
16777215
37641
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [16777215 37662]
                                                                            )
                                                                          ]
                                                                          spids: [37433 37665]
                                                                        )
                                                                      spids: [37429 37431]
                                                                    )
                                                                  ]
                                                                  spids: [37404 37668]
                                                                )
                                                              spids: [37396 37402]
                                                            )
                                                          ]
                                                          spids: [16777215 37378]
                                                        )
                                                      ]
                                                      spids: [16777215 37671]
                                                    )
                                                    (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: [37689]
                                                                )
                                                              ]
                                                              spids: [37689]
                                                            )
                                                            (C {(echo)})
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** Warning: linker path does not have real file for library '
                                                                  ) ($ VSub_Name '$a_deplib') (.)
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** I have the capability to make that library automatically link in when'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** you link to this library.  But I can only do this if you have a'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** shared version of the library, which you do not appear to have'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** because I did check the linker path looking for a file starting'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-z)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name '$potlib')
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (C {($ VSub_Name '$ECHO')} 
                                                                      {
                                                                        (DQ ('*** with ') 
                                                                          ($ VSub_Name '$libname') (' but no candidates were found. (...for file magic test)')
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [16777215 37745]
                                                                )
                                                              ]
                                                              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: [37757 37777]
                                                            )
                                                          ]
                                                          spids: [16777215 37686]
                                                        )
                                                      ]
                                                      spids: [16777215 37780]
                                                    )
                                                  ]
                                                  spids: [37280 37282 37783 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: [37794]
                                                        )
                                                      ]
                                                      spids: [37794]
                                                    )
                                                  ]
                                                  spids: [37786 37787 37802 16777215]
                                                )
                                              ]
                                              spids: [37273 37277 37805]
                                            )
                                          ]
                                          spids: [37270 37808]
                                        )
                                      spids: [37266 37268]
                                    )
                                  ]
                                  spids: [37225 37227 37814 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: [37833 37850]
                                              )
                                            }
                                          spids: [37832]
                                        )
                                      ]
                                      spids: [37832]
                                    )
                                    (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: [37889]
                                                        )
                                                      ]
                                                      spids: [37889]
                                                    )
                                                    (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: [37936]
                                                                        )
                                                                      ]
                                                                      spids: [37936]
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: a_deplib
                                                                            )
                                                                          op: Equal
                                                                          rhs: {(DQ )}
                                                                          spids: [37944]
                                                                        )
                                                                      ]
                                                                      spids: [37944]
                                                                    )
                                                                  ]
                                                                  spids: [37926 37933 37949 16777215]
                                                                )
                                                              ]
                                                              spids: [37913 37923 37952]
                                                            )
                                                          ]
                                                          spids: [16777215 37910]
                                                        )
                                                      ]
                                                      spids: [16777215 37955]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(-n)} 
                                                                  {(DQ ($ VSub_Name '$a_deplib'))}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (C {(eval)} 
                                                              {
                                                                (DQ ('libname=') 
                                                                  (EscapedLiteralPart
                                                                    token: <Lit_EscapedChar '\\"'>
                                                                  ) ($ VSub_Name '$libname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                )
                                                              }
                                                            )
                                                            (ForEach
                                                              iter_name: i
                                                              iter_words: [
                                                                {($ VSub_Name '$lib_search_path')}
                                                                {
                                                                  ($ VSub_Name '$sys_lib_search_path')
                                                                }
                                                                {($ VSub_Name '$shlib_search_path')}
                                                              ]
                                                              do_arg_iter: F
                                                              body: 
                                                                (DoGroup
                                                                  children: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: potential_libs
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (SimpleCommand
                                                                                        words: [
                                                                                          {(ls)}
                                                                                          {
                                                                                            ($ 
VSub_Name '$i'
                                                                                            ) (/) ($ VSub_Name '$libname') (Lit_Other '[') (.-) (Lit_Other ']') (Lit_Other '*')
                                                                                          }
                                                                                        ]
                                                                                        redirects: [
                                                                                          (Redir
                                                                                            op_id: 
Redir_Great
                                                                                            fd: 2
                                                                                            arg_word: 
                                                                                              {
                                                                                                (
/dev/null
                                                                                                )
                                                                                              }
                                                                                            spids: [
38011
                                                                                            ]
                                                                                          )
                                                                                        ]
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
'`'
                                                                                  >
                                                                                spids: [38000 38013]
                                                                              )
                                                                            }
                                                                          spids: [37999]
                                                                        )
                                                                      ]
                                                                      spids: [37999]
                                                                    )
                                                                    (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: [38028]
                                                                                )
                                                                              ]
                                                                              spids: [38028]
                                                                            )
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (Pipeline
                                                                                          children: [
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  (
eval
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    (EscapedLiteralPart
                                                                                                      token: 
                                                                                                        <
Lit_EscapedChar '\\$'
                                                                                                        >
                                                                                                    ) ('ECHO ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$potent_lib') 
                                                                                                    (EscapedLiteralPart
                                                                                                      token: 
                                                                                                        <
Lit_EscapedChar '\\"'
                                                                                                        >
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
2
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
38049
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                ($ 
VSub_Name '$SED'
                                                                                                )
                                                                                              } {(10q)}
                                                                                            )
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  ($ 
VSub_Name '$EGREP'
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    ($ 
VSub_Name '$match_pattern_regex'
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
16777215
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
38068
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          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: [
38076
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [38076]
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
a_deplib
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: {(DQ )}
                                                                                          spids: [
38084
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [38084]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Break break
                                                                                        >
                                                                                      arg_word: {(2)}
                                                                                    )
                                                                                  ]
                                                                                  spids: [
16777215
38073
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [16777215 38094]
                                                                            )
                                                                          ]
                                                                          spids: [38025 38097]
                                                                        )
                                                                      spids: [38021 38023]
                                                                    )
                                                                  ]
                                                                  spids: [37996 38100]
                                                                )
                                                              spids: [37988 37994]
                                                            )
                                                          ]
                                                          spids: [16777215 37970]
                                                        )
                                                      ]
                                                      spids: [16777215 38103]
                                                    )
                                                    (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: [38121]
                                                                )
                                                              ]
                                                              spids: [38121]
                                                            )
                                                            (C {(echo)})
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** Warning: linker path does not have real file for library '
                                                                  ) ($ VSub_Name '$a_deplib') (.)
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** I have the capability to make that library automatically link in when'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** you link to this library.  But I can only do this if you have a'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** shared version of the library, which you do not appear to have'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** because I did check the linker path looking for a file starting'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-z)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name '$potlib')
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (C {($ VSub_Name '$ECHO')} 
                                                                      {
                                                                        (DQ ('*** with ') 
                                                                          ($ VSub_Name '$libname') (' but no candidates were found. (...for regex pattern test)')
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [16777215 38177]
                                                                )
                                                              ]
                                                              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: [38189 38209]
                                                            )
                                                          ]
                                                          spids: [16777215 38118]
                                                        )
                                                      ]
                                                      spids: [16777215 38212]
                                                    )
                                                  ]
                                                  spids: [37872 37874 38215 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: [38226]
                                                        )
                                                      ]
                                                      spids: [38226]
                                                    )
                                                  ]
                                                  spids: [38218 38219 38234 16777215]
                                                )
                                              ]
                                              spids: [37865 37869 38237]
                                            )
                                          ]
                                          spids: [37862 38240]
                                        )
                                      spids: [37858 37860]
                                    )
                                  ]
                                  spids: [37817 37819 38246 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: [38261]
                                        )
                                      ]
                                      spids: [38261]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {(DQ (' ') ($ VSub_Name '$deplibs'))}
                                                          )
                                                          (C {($ VSub_Name '$SED')} 
                                                            {(SQ <'s/ -lc$//; s/ -[LR][^ ]*//g'>)}
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [38267 38282]
                                              )
                                            }
                                          spids: [38266]
                                        )
                                      ]
                                      spids: [38266]
                                    )
                                    (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 (' ') 
                                                                                ($ VSub_Name 
'$tmp_deplibs'
                                                                                )
                                                                              )
                                                                            }
                                                                          )
                                                                          (C {($ VSub_Name '$SED')} 
                                                                            {
                                                                              (DQ ('s,') 
                                                                                ($ VSub_Name '$i') (',,')
                                                                              )
                                                                            }
                                                                          )
                                                                        ]
                                                                        negated: F
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_Backtick '`'>
                                                                spids: [38325 38342]
                                                              )
                                                            }
                                                          spids: [38324]
                                                        )
                                                      ]
                                                      spids: [38324]
                                                    )
                                                  ]
                                                  spids: [38317 38345]
                                                )
                                              spids: [38310 38315]
                                            )
                                          ]
                                          spids: [16777215 38302]
                                        )
                                      ]
                                      spids: [16777215 38348]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name '$tmp_deplibs')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (Lit_Other '[') (KW_Bang '!') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\\t'>
                                              ) (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (Lit_Other ']') (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (C {(echo)})
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {
                                                            (DQ (X) 
                                                              ($ VSub_Name '$deplibs_check_method')
                                                            )
                                                          } {(Lit_Other '=')} {(DQ (Xnone))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(echo)} 
                                                      {
                                                        (DQ 
                                                          (
'*** Warning: inter-library dependencies are not supported in this platform.'
                                                          )
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [16777215 38387]
                                                )
                                              ]
                                              else_action: [
                                                (C {(echo)} 
                                                  {
                                                    (DQ 
                                                      (
'*** Warning: inter-library dependencies are not known to be supported.'
                                                      )
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [38397 38407]
                                            )
                                            (C {(echo)} 
                                              {
                                                (DQ 
                                                  (
'*** All declared inter-library dependencies are being dropped.'
                                                  )
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:droppeddeps)
                                                  op: Equal
                                                  rhs: {(yes)}
                                                  spids: [38417]
                                                )
                                              ]
                                              spids: [38417]
                                            )
                                          ]
                                          spids: [38358 38365 38421 16777215]
                                        )
                                      ]
                                      spids: [38351 38355 38424]
                                    )
                                  ]
                                  spids: [38249 38258 38427 16777215]
                                )
                              ]
                              spids: [36468 36472 38430]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix)
                                  op: Equal
                                  rhs: {($ VSub_Name '$versuffix_save')}
                                  spids: [38433]
                                )
                              ]
                              spids: [38433]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major)
                                  op: Equal
                                  rhs: {($ VSub_Name '$major_save')}
                                  spids: [38437]
                                )
                              ]
                              spids: [38437]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release)
                                  op: Equal
                                  rhs: {($ VSub_Name '$release_save')}
                                  spids: [38441]
                                )
                              ]
                              spids: [38441]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libname)
                                  op: Equal
                                  rhs: {($ VSub_Name '$libname_save')}
                                  spids: [38445]
                                )
                              ]
                              spids: [38445]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name)
                                  op: Equal
                                  rhs: {($ VSub_Name '$name_save')}
                                  spids: [38449]
                                )
                              ]
                              spids: [38449]
                            )
                            (Case
                              to_match: {($ VSub_Name '$host')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-rhapsody) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-darwin1.) (Lit_Other '[') 
                                      (012) (Lit_Other ']')
                                    }
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:newdeplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {(DQ (' ') ($ VSub_Name '$newdeplibs'))}
                                                          )
                                                          (C {($ VSub_Name '$SED')} 
                                                            {(SQ <'s/ -lc / System.ltframework /'>)}
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [38484 38499]
                                              )
                                            }
                                          spids: [38483]
                                        )
                                      ]
                                      spids: [38483]
                                    )
                                  ]
                                  spids: [38461 38476 38502 16777215]
                                )
                              ]
                              spids: [38454 38458 38505]
                            )
                            (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 {(echo)})
                                            (C {(echo)} 
                                              {
                                                (DQ 
                                                  (
'*** Warning: libtool could not satisfy all declared inter-library'
                                                  )
                                                )
                                              }
                                            )
                                            (C {($ VSub_Name '$ECHO')} 
                                              {
                                                (DQ ('*** dependencies of module ') 
                                                  ($ VSub_Name '$libname') ('.  Therefore, libtool will create')
                                                )
                                              }
                                            )
                                            (C {(echo)} 
                                              {
                                                (DQ 
                                                  (
'*** a static module, that should work as long as the dlopening'
                                                  )
                                                )
                                              }
                                            )
                                            (C {(echo)} 
                                              {
                                                (DQ 
                                                  (
'*** application is linked with the -dlopen flag.'
                                                  )
                                                )
                                              }
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name '$global_symbol_pipe'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(echo)})
                                                    (C {(echo)} 
                                                      {
                                                        (DQ 
                                                          (
'*** However, this would only work if libtool was able to extract symbol'
                                                          )
                                                        )
                                                      }
                                                    )
                                                    (C {(echo)} 
                                                      {
                                                        (DQ ('*** lists from a program, using ') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\`'>
                                                          ) ("nm' or equivalent, but libtool could")
                                                        )
                                                      }
                                                    )
                                                    (C {(echo)} 
                                                      {
                                                        (DQ 
                                                          (
'*** not find such a program.  So, this module is probably useless.'
                                                          )
                                                        )
                                                      }
                                                    )
                                                    (C {(echo)} 
                                                      {
                                                        (DQ ('*** ') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\`'>
                                                          ) ("nm' from GNU binutils and a full rebuild may help.")
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [16777215 38585]
                                                )
                                              ]
                                              spids: [16777215 38623]
                                            )
                                            (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: [38642]
                                                        )
                                                      ]
                                                      spids: [38642]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_libtool_libs)
                                                          op: Equal
                                                          rhs: {(module)}
                                                          spids: [38652]
                                                        )
                                                      ]
                                                      spids: [38652]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_old_libs)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [38656]
                                                        )
                                                      ]
                                                      spids: [38656]
                                                    )
                                                  ]
                                                  spids: [16777215 38639]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:build_libtool_libs)
                                                      op: Equal
                                                      rhs: {(no)}
                                                      spids: [38663]
                                                    )
                                                  ]
                                                  spids: [38663]
                                                )
                                              ]
                                              spids: [38660 38667]
                                            )
                                          ]
                                          spids: [16777215 38538]
                                        )
                                      ]
                                      else_action: [
                                        (C {(echo)} 
                                          {
                                            (DQ 
                                              (
'*** The inter-library dependencies that have been dropped here will be'
                                              )
                                            )
                                          }
                                        )
                                        (C {(echo)} 
                                          {
                                            (DQ 
                                              (
'*** automatically added whenever a program is linked with this library'
                                              )
                                            )
                                          }
                                        )
                                        (C {(echo)} {(DQ ('*** or is declared to -dlopen it.'))})
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (C {(test)} {(DQ ($ VSub_Name '$allow_undefined'))} 
                                                      {(Lit_Other '=')} {(no)}
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (C {(echo)})
                                                (C {(echo)} 
                                                  {
                                                    (DQ 
                                                      (
'*** Since this library must not contain undefined symbols,'
                                                      )
                                                    )
                                                  }
                                                )
                                                (C {(echo)} 
                                                  {
                                                    (DQ 
                                                      (
'*** because either the platform does not support them or'
                                                      )
                                                    )
                                                  }
                                                )
                                                (C {(echo)} 
                                                  {
                                                    (DQ 
                                                      (
'*** it was explicitly requested with -no-undefined,'
                                                      )
                                                    )
                                                  }
                                                )
                                                (C {(echo)} 
                                                  {
                                                    (DQ 
                                                      (
'*** libtool will only create a static version of it.'
                                                      )
                                                    )
                                                  }
                                                )
                                                (If
                                                  arms: [
                                                    (if_arm
                                                      cond: [
                                                        (Sentence
                                                          child: 
                                                            (C {(test)} 
                                                              {(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: [38758]
                                                            )
                                                          ]
                                                          spids: [38758]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_libtool_libs)
                                                              op: Equal
                                                              rhs: {(module)}
                                                              spids: [38768]
                                                            )
                                                          ]
                                                          spids: [38768]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_old_libs)
                                                              op: Equal
                                                              rhs: {(yes)}
                                                              spids: [38772]
                                                            )
                                                          ]
                                                          spids: [38772]
                                                        )
                                                      ]
                                                      spids: [16777215 38755]
                                                    )
                                                  ]
                                                  else_action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_libtool_libs)
                                                          op: Equal
                                                          rhs: {(no)}
                                                          spids: [38779]
                                                        )
                                                      ]
                                                      spids: [38779]
                                                    )
                                                  ]
                                                  spids: [38776 38783]
                                                )
                                              ]
                                              spids: [16777215 38708]
                                            )
                                          ]
                                          spids: [16777215 38786]
                                        )
                                      ]
                                      spids: [38670 38789]
                                    )
                                  ]
                                  spids: [16777215 38522]
                                )
                              ]
                              spids: [16777215 38792]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$newdeplibs')}
                                  spids: [38799]
                                )
                              ]
                              spids: [38799]
                            )
                          ]
                          spids: [16777215 36139]
                        )
                      ]
                      spids: [16777215 38803]
                    )
                    (Case
                      to_match: {($ VSub_Name '$host')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (-) (Lit_Other '*') (-darwin) (Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:newdeplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ (' ') ($ VSub_Name '$newdeplibs'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {
                                                      (SQ 
                                                        <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [38826 38841]
                                      )
                                    }
                                  spids: [38825]
                                )
                              ]
                              spids: [38825]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:new_inherited_linker_flags)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {
                                                      (DQ (' ') 
                                                        ($ VSub_Name '$new_inherited_linker_flags')
                                                      )
                                                    }
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {
                                                      (SQ 
                                                        <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [38845 38860]
                                      )
                                    }
                                  spids: [38844]
                                )
                              ]
                              spids: [38844]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ (' ') ($ VSub_Name '$deplibs'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {
                                                      (SQ 
                                                        <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [38864 38879]
                                      )
                                    }
                                  spids: [38863]
                                )
                              ]
                              spids: [38863]
                            )
                          ]
                          spids: [38817 38822 38882 16777215]
                        )
                      ]
                      spids: [38810 38814 38885]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new_libs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [38897]
                        )
                      ]
                      spids: [38897]
                    )
                    (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: [38923 38932 38934 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: [38964]
                                                )
                                              ]
                                              spids: [38964]
                                            )
                                          ]
                                          spids: [38952 38961 38973 16777215]
                                        )
                                      ]
                                      spids: [38941 38949 38976]
                                    )
                                  ]
                                  spids: [38937 38938 38979 16777215]
                                )
                              ]
                              spids: [38912 38920 38982]
                            )
                          ]
                          spids: [38909 38985]
                        )
                      spids: [38905 38907]
                    )
                    (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: [39023 39030 39032 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: [39038]
                                                )
                                              ]
                                              spids: [39038]
                                            )
                                          ]
                                          spids: [39035 39036 39045 16777215]
                                        )
                                      ]
                                      spids: [39012 39020 39048]
                                    )
                                  ]
                                  spids: [39007 39009 39051 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: [39057]
                                        )
                                      ]
                                      spids: [39057]
                                    )
                                  ]
                                  spids: [39054 39055 39064 16777215]
                                )
                              ]
                              spids: [39000 39004 39067]
                            )
                          ]
                          spids: [38997 39070]
                        )
                      spids: [38993 38995]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:deplibs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$new_libs'))}
                          spids: [39073]
                        )
                      ]
                      spids: [39073]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:library_names)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [39084]
                        )
                      ]
                      spids: [39084]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_library)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [39087]
                        )
                      ]
                      spids: [39087]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlname)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [39090]
                        )
                      ]
                      spids: [39090]
                    )
                    (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: [39134]
                                        )
                                      ]
                                      spids: [39134]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dep_rpath)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [39137]
                                        )
                                      ]
                                      spids: [39137]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:rpath)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$finalize_rpath'))}
                                          spids: [39140]
                                        )
                                      ]
                                      spids: [39140]
                                    )
                                    (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: [39159]
                                            )
                                          ]
                                          spids: [39159]
                                        )
                                      ]
                                    )
                                    (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: [39220]
                                                                        )
                                                                      ]
                                                                      spids: [39220]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 39217]
                                                                )
                                                              ]
                                                              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: [
39242
39249
39252
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: [39259]
                                                                            )
                                                                          ]
                                                                          spids: [39259]
                                                                        )
                                                                      ]
                                                                      spids: [
39255
39256
39267
16777215
                                                                      ]
                                                                    )
                                                                  ]
                                                                  spids: [39233 39239 39270]
                                                                )
                                                              ]
                                                              spids: [39226 39273]
                                                            )
                                                          ]
                                                          spids: [16777215 39203]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (C {(eval)} 
                                                          {
                                                            (DQ ('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: [39289]
                                                            )
                                                          ]
                                                          spids: [39289]
                                                        )
                                                      ]
                                                      spids: [39276 39297]
                                                    )
                                                  ]
                                                  spids: [16777215 39189]
                                                )
                                                (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: [39324 39331 39333 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: [39339]
                                                                )
                                                              ]
                                                              spids: [39339]
                                                            )
                                                          ]
                                                          spids: [39336 39337 39346 16777215]
                                                        )
                                                      ]
                                                      spids: [39314 39321 39349]
                                                    )
                                                  ]
                                                  spids: [39300 39311]
                                                )
                                              ]
                                              spids: [16777215 39352]
                                            )
                                          ]
                                          spids: [39175 39355]
                                        )
                                      spids: [39171 39173]
                                    )
                                    (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: [39387]
                                                )
                                              ]
                                              spids: [39387]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name 
'$hardcode_libdir_flag_spec_ld'
                                                              )
                                                            )
                                                          }
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(eval)} 
                                                      {
                                                        (DQ ('dep_rpath=') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\"'>
                                                          ) ($ VSub_Name '$hardcode_libdir_flag_spec_ld') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [16777215 39404]
                                                )
                                              ]
                                              else_action: [
                                                (C {(eval)} 
                                                  {
                                                    (DQ ('dep_rpath=') 
                                                      (EscapedLiteralPart
                                                        token: <Lit_EscapedChar '\\"'>
                                                      ) ($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [39417 39430]
                                            )
                                          ]
                                          spids: [16777215 39384]
                                        )
                                      ]
                                      spids: [16777215 39433]
                                    )
                                    (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: [39464]
                                                )
                                              ]
                                              spids: [39464]
                                            )
                                            (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: [39479]
                                                        )
                                                      ]
                                                      spids: [39479]
                                                    )
                                                  ]
                                                  spids: [39476 39487]
                                                )
                                              spids: [39472 39474]
                                            )
                                            (C {(eval)} 
                                              {($ VSub_Name '$runpath_var') (Lit_Other '=') 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar '\\$'>
                                                ) (rpath) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ($ VSub_Name '$runpath_var')
                                              }
                                            )
                                            (C {(export)} {($ VSub_Name '$runpath_var')})
                                          ]
                                          spids: [16777215 39457]
                                        )
                                      ]
                                      spids: [16777215 39505]
                                    )
                                    (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: [39518]
                                            )
                                          ]
                                          spids: [39518]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 39127]
                                )
                              ]
                              spids: [16777215 39526]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:shlibpath)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$finalize_shlibpath'))}
                                  spids: [39530]
                                )
                              ]
                              spids: [39530]
                            )
                            (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: [39549]
                                    )
                                  ]
                                  spids: [39549]
                                )
                              ]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$shlibpath'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {($ VSub_Name '$shlibpath_var') (Lit_Other '=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\$'>
                                        ) (shlibpath) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ($ VSub_Name '$shlibpath_var')
                                      }
                                    )
                                    (C {(export)} {($ VSub_Name '$shlibpath_var')})
                                  ]
                                  spids: [16777215 39567]
                                )
                              ]
                              spids: [16777215 39585]
                            )
                            (C {(eval)} 
                              {
                                (DQ ('shared_ext=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                  ($ VSub_Name '$shrext_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                )
                              }
                            )
                            (C {(eval)} 
                              {
                                (DQ ('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: [39623]
                                )
                              ]
                              spids: [39623]
                            )
                            (C {(shift)})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$soname_spec'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {
                                        (DQ ('soname=') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\"'>
                                          ) ($ VSub_Name '$soname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                        )
                                      }
                                    )
                                  ]
                                  spids: [16777215 39644]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:soname)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$realname'))}
                                      spids: [39660]
                                    )
                                  ]
                                  spids: [39660]
                                )
                              ]
                              spids: [39657 39666]
                            )
                            (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: [39683]
                                        )
                                      ]
                                      spids: [39683]
                                    )
                                  ]
                                  spids: [16777215 39680]
                                )
                              ]
                              spids: [16777215 39687]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lib)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$realname'))
                                    }
                                  spids: [39691]
                                )
                              ]
                              spids: [39691]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:linknames)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [39699]
                                )
                              ]
                              spids: [39699]
                            )
                            (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: [39710]
                                        )
                                      ]
                                      spids: [39710]
                                    )
                                  ]
                                  spids: [39707 39718]
                                )
                              spids: [16777215 16777215]
                            )
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$pic_flag'))})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:libobjs)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {($ VSub_Name '$ECHO')} 
                                                        {(DQ ($ VSub_Name '$libobjs'))}
                                                      )
                                                      (C {($ VSub_Name '$SP2NL')})
                                                      (C {($ VSub_Name '$SED')} 
                                                        {(DQ ($ VSub_Name '$lo2o'))}
                                                      )
                                                      (C {($ VSub_Name '$NL2SP')})
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [39737 39759]
                                          )
                                        }
                                      spids: [39736]
                                    )
                                  ]
                                  spids: [39736]
                                )
                              ]
                            )
                            (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: [39777]
                                    )
                                  ]
                                  spids: [39777]
                                )
                              ]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:delfiles)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [39781]
                                )
                              ]
                              spids: [39781]
                            )
                            (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: [39826]
                                        )
                                      ]
                                      spids: [39826]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:delfiles)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$delfiles') (' ') 
                                                ($ VSub_Name '$export_symbols')
                                              )
                                            }
                                          spids: [39835]
                                        )
                                      ]
                                      spids: [39835]
                                    )
                                  ]
                                  spids: [16777215 39805]
                                )
                              ]
                              spids: [16777215 39843]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:orig_export_symbols)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [39847]
                                )
                              ]
                              spids: [39847]
                            )
                            (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: [39906 39912]
                                                              )
                                                            )
                                                          } {(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: [39948]
                                                        )
                                                      ]
                                                      spids: [39948]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:export_symbols)
                                                          op: Equal
                                                          rhs: {(EmptyPart)}
                                                          spids: [39954]
                                                        )
                                                      ]
                                                      spids: [39954]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:always_export_symbols)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [39957]
                                                        )
                                                      ]
                                                      spids: [39957]
                                                    )
                                                  ]
                                                  spids: [16777215 39921]
                                                )
                                              ]
                                              spids: [16777215 39961]
                                            )
                                          ]
                                          spids: [16777215 39893]
                                        )
                                      ]
                                      spids: [16777215 39964]
                                    )
                                  ]
                                  spids: [39857 39869 39967 16777215]
                                )
                              ]
                              spids: [39850 39854 39970]
                            )
                            (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: [40028]
                                                )
                                              ]
                                              spids: [40028]
                                            )
                                            (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: [40046]
                                                )
                                              ]
                                              spids: [40046]
                                            )
                                            (Sentence
                                              child: 
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:save_ifs)
                                                      op: Equal
                                                      rhs: {(DQ ($ VSub_Name '$IFS'))}
                                                      spids: [40050]
                                                    )
                                                  ]
                                                  spids: [40050]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {(SQ <'~'>)}
                                                  spids: [40056]
                                                )
                                              ]
                                              spids: [40056]
                                            )
                                            (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: [40074]
                                                        )
                                                      ]
                                                      spids: [40074]
                                                    )
                                                    (C {(eval)} 
                                                      {
                                                        (DQ ('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: [40098]
                                                        )
                                                      ]
                                                      spids: [40098]
                                                    )
                                                    (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: [40143]
                                                                )
                                                              ]
                                                              spids: [40143]
                                                            )
                                                          ]
                                                          spids: [16777215 40129]
                                                        )
                                                      ]
                                                      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: [40161]
                                                            )
                                                          ]
                                                          spids: [40161]
                                                        )
                                                        (ControlFlow
                                                          token: <ControlFlow_Break break>
                                                        )
                                                      ]
                                                      spids: [40147 40176]
                                                    )
                                                  ]
                                                  spids: [40071 40179]
                                                )
                                              spids: [40067 40069]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                                  spids: [40182]
                                                )
                                              ]
                                              spids: [40182]
                                            )
                                            (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 40215]
                                                )
                                              ]
                                              spids: [16777215 40232]
                                            )
                                          ]
                                          spids: [16777215 40015]
                                        )
                                      ]
                                      spids: [16777215 40235]
                                    )
                                  ]
                                  spids: [16777215 39989]
                                )
                              ]
                              spids: [16777215 40238]
                            )
                            (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: [40266]
                                        )
                                      ]
                                      spids: [40266]
                                    )
                                    (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: [40282]
                                            )
                                          ]
                                          spids: [40282]
                                        )
                                      ]
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (Pipeline
                                          children: [
                                            (C {($ VSub_Name '$ECHO')} 
                                              {(DQ ($ VSub_Name '$include_expsyms'))}
                                            )
                                            (SimpleCommand
                                              words: [{($ VSub_Name '$SP2NL')}]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: 16777215
                                                  arg_word: {(DQ ($ VSub_Name '$tmp_export_symbols'))}
                                                  spids: [40302]
                                                )
                                              ]
                                            )
                                          ]
                                          negated: F
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 40263]
                                )
                              ]
                              spids: [16777215 40309]
                            )
                            (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_id: Redir_Less
                                              fd: 16777215
                                              arg_word: {($ VSub_Name '$export_symbols')}
                                              spids: [40389]
                                            )
                                            (Redir
                                              op_id: Redir_Great
                                              fd: 16777215
                                              arg_word: 
                                                {($ VSub_Name '$output_objdir') (/) 
                                                  ($ VSub_Name '$libname') (.filter)
                                                }
                                              spids: [40393]
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                    (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: [40401]
                                        )
                                      ]
                                      spids: [40401]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:export_symbols)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name '$output_objdir') (/) 
                                              ($ VSub_Name '$libname') (.def)
                                            }
                                          spids: [40414]
                                        )
                                      ]
                                      spids: [40414]
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (SimpleCommand
                                          words: [
                                            {($ VSub_Name '$SED')}
                                            {(-f)}
                                            {($ VSub_Name '$output_objdir') (/) 
                                              ($ VSub_Name '$libname') (.filter)
                                            }
                                          ]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Less
                                              fd: 16777215
                                              arg_word: {($ VSub_Name '$orig_export_symbols')}
                                              spids: [40434]
                                            )
                                            (Redir
                                              op_id: Redir_Great
                                              fd: 16777215
                                              arg_word: {($ VSub_Name '$export_symbols')}
                                              spids: [40438]
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 40340]
                                )
                              ]
                              spids: [16777215 40443]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tmp_deplibs)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [40447]
                                )
                              ]
                              spids: [40447]
                            )
                            (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: [40473 40480 40482 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: [40489]
                                                )
                                              ]
                                              spids: [40489]
                                            )
                                          ]
                                          spids: [40485 40486 40497 16777215]
                                        )
                                      ]
                                      spids: [40462 40470 40500]
                                    )
                                  ]
                                  spids: [40459 40503]
                                )
                              spids: [40455 40457]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$tmp_deplibs'))}
                                  spids: [40506]
                                )
                              ]
                              spids: [40506]
                            )
                            (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: [40573]
                                                )
                                              ]
                                              spids: [40573]
                                            )
                                          ]
                                          spids: [16777215 40562]
                                        )
                                      ]
                                      spids: [16777215 40576]
                                    )
                                    (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: [40593]
                                                )
                                              ]
                                              spids: [40593]
                                            )
                                            (C {(eval)} 
                                              {
                                                (DQ ('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: [40624]
                                                    )
                                                  ]
                                                  spids: [40624]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 40590]
                                        )
                                      ]
                                      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: [40630]
                                            )
                                          ]
                                          spids: [40630]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:generated)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$generated') (' ') 
                                                    ($ VSub_Name '$gentop')
                                                  )
                                                }
                                              spids: [40641]
                                            )
                                          ]
                                          spids: [40641]
                                        )
                                        (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: [40657]
                                            )
                                          ]
                                          spids: [40657]
                                        )
                                        (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: [40680]
                                                )
                                              ]
                                              spids: [40680]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [40627 40683]
                                    )
                                  ]
                                  spids: [16777215 40524]
                                )
                              ]
                              spids: [16777215 40686]
                            )
                            (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)} 
                                      {
                                        (DQ ('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: [40726]
                                        )
                                      ]
                                      spids: [40726]
                                    )
                                  ]
                                  spids: [16777215 40713]
                                )
                              ]
                              spids: [16777215 40734]
                            )
                            (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')})
                                        (Subshell
                                          child: 
                                            (AndOr
                                              ops: [Op_DAmp Op_DAmp]
                                              children: [
                                                (C {(cd)} {($ VSub_Name '$output_objdir')})
                                                (C {($ VSub_Name '$RM')} {(${ VSub_Name realname) (U)})
                                                (C {($ VSub_Name '$MV')} {($ VSub_Name '$realname')} 
                                                  {(${ VSub_Name realname) (U)}
                                                )
                                              ]
                                            )
                                          spids: [40762 40786]
                                        )
                                        (ControlFlow
                                          token: <ControlFlow_Exit exit>
                                          arg_word: {($ VSub_QMark '$?')}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 40755]
                                )
                              ]
                              spids: [16777215 40795]
                            )
                            (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)} 
                                              {
                                                (DQ ('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: [40864]
                                                )
                                              ]
                                              spids: [40864]
                                            )
                                          ]
                                          spids: [16777215 40851]
                                        )
                                      ]
                                      else_action: [
                                        (C {(eval)} 
                                          {
                                            (DQ ('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: [40881]
                                            )
                                          ]
                                          spids: [40881]
                                        )
                                      ]
                                      spids: [40868 40885]
                                    )
                                  ]
                                  spids: [16777215 40827]
                                )
                              ]
                              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)} 
                                          {
                                            (DQ ('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: [40925]
                                            )
                                          ]
                                          spids: [40925]
                                        )
                                      ]
                                      spids: [16777215 40912]
                                    )
                                  ]
                                  else_action: [
                                    (C {(eval)} 
                                      {
                                        (DQ ('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: [40942]
                                        )
                                      ]
                                      spids: [40942]
                                    )
                                  ]
                                  spids: [40929 40946]
                                )
                              ]
                              spids: [40888 40949]
                            )
                            (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: [40982]
                                                )
                                              ]
                                              spids: [40982]
                                            )
                                            (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 41013]
                                )
                              ]
                              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: [41091]
                                            )
                                          ]
                                          spids: [41091]
                                        )
                                      ]
                                      spids: [16777215 41088]
                                    )
                                  ]
                                  spids: [16777215 41095]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_output)
                                      op: Equal
                                      rhs: {($ VSub_Name '$output')}
                                      spids: [41098]
                                    )
                                  ]
                                  spids: [41098]
                                )
                                (C {(func_basename)} {(DQ ($ VSub_Name '$output'))})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:output_la)
                                      op: Equal
                                      rhs: {($ VSub_Name '$func_basename_result')}
                                      spids: [41109]
                                    )
                                  ]
                                  spids: [41109]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:test_cmds)
                                      op: Equal
                                      rhs: {(EmptyPart)}
                                      spids: [41122]
                                    )
                                  ]
                                  spids: [41122]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:concat_cmds)
                                      op: Equal
                                      rhs: {(EmptyPart)}
                                      spids: [41125]
                                    )
                                  ]
                                  spids: [41125]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:objlist)
                                      op: Equal
                                      rhs: {(EmptyPart)}
                                      spids: [41128]
                                    )
                                  ]
                                  spids: [41128]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:last_robj)
                                      op: Equal
                                      rhs: {(EmptyPart)}
                                      spids: [41131]
                                    )
                                  ]
                                  spids: [41131]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:k)
                                      op: Equal
                                      rhs: {(1)}
                                      spids: [41134]
                                    )
                                  ]
                                  spids: [41134]
                                )
                                (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: [41181]
                                            )
                                          ]
                                          spids: [41181]
                                        )
                                        (C {(func_verbose)} 
                                          {(DQ ('creating GNU ld script: ') ($ VSub_Name '$output'))}
                                        )
                                        (SimpleCommand
                                          words: [{(echo)} {(SQ <'INPUT ('>)}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: 16777215
                                              arg_word: {($ VSub_Name '$output')}
                                              spids: [41206]
                                            )
                                          ]
                                        )
                                        (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_id: Redir_DGreat
                                                      fd: 16777215
                                                      arg_word: {($ VSub_Name '$output')}
                                                      spids: [41229]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [41220 41234]
                                            )
                                          spids: [41216 16777215]
                                        )
                                        (SimpleCommand
                                          words: [{(echo)} {(SQ <')'>)}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_DGreat
                                              fd: 16777215
                                              arg_word: {($ VSub_Name '$output')}
                                              spids: [41243]
                                            )
                                          ]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:delfiles)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$delfiles') (' ') 
                                                    ($ VSub_Name '$output')
                                                  )
                                                }
                                              spids: [41248]
                                            )
                                          ]
                                          spids: [41248]
                                        )
                                      ]
                                      spids: [16777215 41178]
                                    )
                                    (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: [41300]
                                            )
                                          ]
                                          spids: [41300]
                                        )
                                        (C {(func_verbose)} 
                                          {
                                            (DQ ('creating linker input file list: ') 
                                              ($ VSub_Name '$output')
                                            )
                                          }
                                        )
                                        (SimpleCommand
                                          words: [{(Lit_Other ':')}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: 16777215
                                              arg_word: {($ VSub_Name '$output')}
                                              spids: [41321]
                                            )
                                          ]
                                        )
                                        (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: [41336]
                                            )
                                          ]
                                          spids: [41336]
                                        )
                                        (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: [41355]
                                                    )
                                                  ]
                                                  spids: [41355]
                                                )
                                                (C {(shift)})
                                              ]
                                              spids: [16777215 41352]
                                            )
                                          ]
                                          spids: [16777215 41365]
                                        )
                                        (ForEach
                                          iter_name: obj
                                          do_arg_iter: T
                                          body: 
                                            (DoGroup
                                              children: [
                                                (SimpleCommand
                                                  words: [
                                                    {($ VSub_Name '$ECHO')}
                                                    {(DQ ($ VSub_Name '$obj'))}
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_DGreat
                                                      fd: 16777215
                                                      arg_word: {($ VSub_Name '$output')}
                                                      spids: [41382]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [41373 41387]
                                            )
                                          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: [41390]
                                            )
                                          ]
                                          spids: [41390]
                                        )
                                        (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: [41398]
                                            )
                                          ]
                                          spids: [41398]
                                        )
                                      ]
                                      spids: [41256 41297]
                                    )
                                  ]
                                  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: [41430]
                                                )
                                              ]
                                              spids: [41430]
                                            )
                                            (C {(eval)} 
                                              {
                                                (DQ ('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: [41460]
                                                )
                                              ]
                                              spids: [41460]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:len)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$len0')}
                                                  spids: [41464]
                                                )
                                              ]
                                              spids: [41464]
                                            )
                                            (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: [41502]
                                                        )
                                                      ]
                                                      spids: [41502]
                                                    )
                                                    (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 41535]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (If
                                                          arms: [
                                                            (if_arm
                                                              cond: [
                                                                (Sentence
                                                                  child: 
                                                                    (C {(test)} 
                                                                      {(DQ ($ VSub_Name '$k'))} {(-eq)} {(1)}
                                                                    )
                                                                  terminator: <Op_Semi ';'>
                                                                )
                                                              ]
                                                              action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:reload_objs)
                                                                      op: Equal
                                                                      rhs: {($ VSub_Name '$objlist')}
                                                                      spids: [41580]
                                                                    )
                                                                  ]
                                                                  spids: [41580]
                                                                )
                                                                (C {(eval)} 
                                                                  {
                                                                    (DQ ('concat_cmds=') 
                                                                      (EscapedLiteralPart
                                                                        token: 
                                                                          <Lit_EscapedChar '\\"'>
                                                                      ) ($ VSub_Name '$reload_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [16777215 41573]
                                                            )
                                                          ]
                                                          else_action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:reload_objs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$objlist') 
                                                                        (' ') ($ VSub_Name '$last_robj')
                                                                      )
                                                                    }
                                                                  spids: [41605]
                                                                )
                                                              ]
                                                              spids: [41605]
                                                            )
                                                            (C {(eval)} 
                                                              {
                                                                (DQ ('concat_cmds=') 
                                                                  (EscapedLiteralPart
                                                                    token: <Lit_EscapedChar '\\"'>
                                                                  ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('concat_cmds~') ($ VSub_Name '$reload_cmds') ('~') 
                                                                  (EscapedLiteralPart
                                                                    token: <Lit_EscapedChar '\\$'>
                                                                  ) ('RM ') ($ VSub_Name '$last_robj') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [41594 41629]
                                                        )
                                                        (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: [41632]
                                                            )
                                                          ]
                                                          spids: [41632]
                                                        )
                                                        (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: [41653]
                                                            )
                                                          ]
                                                          spids: [41653]
                                                        )
                                                        (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: [41657]
                                                            )
                                                          ]
                                                          spids: [41657]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:objlist)
                                                              op: Equal
                                                              rhs: {(DQ (' ') ($ VSub_Name '$obj'))}
                                                              spids: [41669]
                                                            )
                                                          ]
                                                          spids: [41669]
                                                        )
                                                        (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: [41693]
                                                            )
                                                          ]
                                                          spids: [41693]
                                                        )
                                                      ]
                                                      spids: [41548 41697]
                                                    )
                                                  ]
                                                  spids: [41482 41700]
                                                )
                                              spids: [41478 16777215]
                                            )
                                            (AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$concat_cmds'))})
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:concat_cmds)
                                                      op: Equal
                                                      rhs: 
                                                        {($ VSub_Name '$concat_cmds') 
                                                          (Lit_Tilde '~')
                                                        }
                                                      spids: [41725]
                                                    )
                                                  ]
                                                  spids: [41725]
                                                )
                                              ]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:reload_objs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$objlist') (' ') 
                                                        ($ VSub_Name '$last_robj')
                                                      )
                                                    }
                                                  spids: [41730]
                                                )
                                              ]
                                              spids: [41730]
                                            )
                                            (C {(eval)} 
                                              {
                                                (DQ ('concat_cmds=') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\"'>
                                                  ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{concat_cmds}') ($ VSub_Name '$reload_cmds') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\"'>
                                                  )
                                                )
                                              }
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$last_robj'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(eval)} 
                                                      {
                                                        (DQ ('concat_cmds=') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\"'>
                                                          ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{concat_cmds}~') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\$'>
                                                          ) ('RM ') ($ VSub_Name '$last_robj') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [16777215 41761]
                                                )
                                              ]
                                              spids: [16777215 41778]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:delfiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$delfiles') (' ') 
                                                        ($ VSub_Name '$output')
                                                      )
                                                    }
                                                  spids: [41781]
                                                )
                                              ]
                                              spids: [41781]
                                            )
                                          ]
                                          spids: [16777215 41420]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:output)
                                              op: Equal
                                              rhs: {(EmptyPart)}
                                              spids: [41793]
                                            )
                                          ]
                                          spids: [41793]
                                        )
                                      ]
                                      spids: [41790 41796]
                                    )
                                    (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: [41802 41806]
                                                    )
                                                  }
                                                )
                                              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: [41822]
                                                )
                                              ]
                                              spids: [41822]
                                            )
                                            (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: [41840]
                                                )
                                              ]
                                              spids: [41840]
                                            )
                                            (AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$concat_cmds'))})
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:concat_cmds)
                                                      op: Equal
                                                      rhs: 
                                                        {($ VSub_Name '$concat_cmds') 
                                                          (Lit_Tilde '~')
                                                        }
                                                      spids: [41858]
                                                    )
                                                  ]
                                                  spids: [41858]
                                                )
                                              ]
                                            )
                                            (C {(eval)} 
                                              {
                                                (DQ ('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)} 
                                                      {
                                                        (DQ ('concat_cmds=') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\"'>
                                                          ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('concat_cmds~') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\$'>
                                                          ) ('RM ') ($ VSub_Name '$last_robj') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [16777215 41886]
                                                )
                                              ]
                                              spids: [16777215 41903]
                                            )
                                          ]
                                          spids: [16777215 41809]
                                        )
                                      ]
                                      spids: [16777215 41906]
                                    )
                                    (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: [41934]
                                            )
                                          ]
                                          spids: [41934]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(SQ <'~'>)}
                                          spids: [41940]
                                        )
                                      ]
                                      spids: [41940]
                                    )
                                    (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: [41958]
                                                )
                                              ]
                                              spids: [41958]
                                            )
                                            (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: [41968]
                                                )
                                              ]
                                            )
                                            (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: [42004]
                                                        )
                                                      ]
                                                      spids: [42004]
                                                    )
                                                    (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: [42029 42067]
                                                            )
                                                          ]
                                                          spids: [16777215 42026]
                                                        )
                                                      ]
                                                      spids: [16777215 42070]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Exit exit>
                                                      arg_word: {($ VSub_Name '$lt_exit')}
                                                    )
                                                  ]
                                                  spids: [42001]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [41955 42082]
                                        )
                                      spids: [41951 41953]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                          spids: [42085]
                                        )
                                      ]
                                      spids: [42085]
                                    )
                                    (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: [42104 42108]
                                                        )
                                                      }
                                                    )
                                                  ]
                                                )
                                              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 42111]
                                        )
                                      ]
                                      spids: [16777215 42128]
                                    )
                                  ]
                                  spids: [41406 42131]
                                )
                                (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: [42137 42141]
                                                )
                                              }
                                            )
                                          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: [42171]
                                                    )
                                                  ]
                                                  spids: [42171]
                                                )
                                                (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: [42187]
                                                        )
                                                      ]
                                                      spids: [42187]
                                                    )
                                                  ]
                                                )
                                                (AndOr
                                                  ops: [Op_DPipe]
                                                  children: [
                                                    (C {($ VSub_Name '$opt_dry_run')})
                                                    (Pipeline
                                                      children: [
                                                        (C {($ VSub_Name '$ECHO')} 
                                                          {(DQ ($ VSub_Name '$include_expsyms'))}
                                                        )
                                                        (SimpleCommand
                                                          words: [{($ VSub_Name '$SP2NL')}]
                                                          redirects: [
                                                            (Redir
                                                              op_id: Redir_DGreat
                                                              fd: 16777215
                                                              arg_word: 
                                                                {
                                                                  (DQ 
                                                                    ($ VSub_Name 
'$tmp_export_symbols'
                                                                    )
                                                                  )
                                                                }
                                                              spids: [42207]
                                                            )
                                                          ]
                                                        )
                                                      ]
                                                      negated: F
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [16777215 42168]
                                            )
                                          ]
                                          spids: [16777215 42214]
                                        )
                                        (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_id: Redir_Less
                                                          fd: 16777215
                                                          arg_word: {($ VSub_Name '$export_symbols')}
                                                          spids: [42278]
                                                        )
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: 16777215
                                                          arg_word: 
                                                            {($ VSub_Name '$output_objdir') (/) 
                                                              ($ VSub_Name '$libname') (.filter)
                                                            }
                                                          spids: [42282]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                )
                                                (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: [42290]
                                                    )
                                                  ]
                                                  spids: [42290]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:export_symbols)
                                                      op: Equal
                                                      rhs: 
                                                        {($ VSub_Name '$output_objdir') (/) 
                                                          ($ VSub_Name '$libname') (.def)
                                                        }
                                                      spids: [42303]
                                                    )
                                                  ]
                                                  spids: [42303]
                                                )
                                                (AndOr
                                                  ops: [Op_DPipe]
                                                  children: [
                                                    (C {($ VSub_Name '$opt_dry_run')})
                                                    (SimpleCommand
                                                      words: [
                                                        {($ VSub_Name '$SED')}
                                                        {(-f)}
                                                        {($ VSub_Name '$output_objdir') (/) 
                                                          ($ VSub_Name '$libname') (.filter)
                                                        }
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Less
                                                          fd: 16777215
                                                          arg_word: 
                                                            {($ VSub_Name '$orig_export_symbols')}
                                                          spids: [42323]
                                                        )
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: 16777215
                                                          arg_word: {($ VSub_Name '$export_symbols')}
                                                          spids: [42327]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [16777215 42229]
                                            )
                                          ]
                                          spids: [16777215 42332]
                                        )
                                      ]
                                      spids: [16777215 42144]
                                    )
                                  ]
                                  spids: [16777215 42335]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:libobjs)
                                      op: Equal
                                      rhs: {($ VSub_Name '$output')}
                                      spids: [42339]
                                    )
                                  ]
                                  spids: [42339]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:output)
                                      op: Equal
                                      rhs: {($ VSub_Name '$save_output')}
                                      spids: [42347]
                                    )
                                  ]
                                  spids: [42347]
                                )
                                (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)} 
                                          {
                                            (DQ ('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: [42403]
                                                )
                                              ]
                                              spids: [42403]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [16777215 42373]
                                    )
                                  ]
                                  spids: [16777215 42406]
                                )
                                (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: [42473]
                                                    )
                                                  ]
                                                  spids: [42473]
                                                )
                                              ]
                                              spids: [16777215 42470]
                                            )
                                          ]
                                          else_action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:cmds)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$module_cmds')}
                                                  spids: [42480]
                                                )
                                              ]
                                              spids: [42480]
                                            )
                                          ]
                                          spids: [42477 42484]
                                        )
                                      ]
                                      spids: [16777215 42446]
                                    )
                                  ]
                                  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: [42514]
                                                )
                                              ]
                                              spids: [42514]
                                            )
                                          ]
                                          spids: [16777215 42511]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:cmds)
                                              op: Equal
                                              rhs: {($ VSub_Name '$archive_cmds')}
                                              spids: [42521]
                                            )
                                          ]
                                          spids: [42521]
                                        )
                                      ]
                                      spids: [42518 42525]
                                    )
                                  ]
                                  spids: [42487 42528]
                                )
                              ]
                              spids: [41019 42531]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$delfiles'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {
                                        (DQ ('cmds=') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\"'>
                                          ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('cmds~') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\$'>
                                          ) ('RM ') ($ VSub_Name '$delfiles') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                        )
                                      }
                                    )
                                  ]
                                  spids: [16777215 42546]
                                )
                              ]
                              spids: [16777215 42567]
                            )
                            (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: [42589]
                                        )
                                      ]
                                      spids: [42589]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:generated)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$generated') (' ') 
                                                ($ VSub_Name '$gentop')
                                              )
                                            }
                                          spids: [42600]
                                        )
                                      ]
                                      spids: [42600]
                                    )
                                    (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: [42616]
                                        )
                                      ]
                                      spids: [42616]
                                    )
                                    (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: [42639]
                                            )
                                          ]
                                          spids: [42639]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 42586]
                                )
                              ]
                              spids: [16777215 42642]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$IFS'))}
                                      spids: [42646]
                                    )
                                  ]
                                  spids: [42646]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(SQ <'~'>)}
                                  spids: [42652]
                                )
                              ]
                              spids: [42652]
                            )
                            (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: [42670]
                                        )
                                      ]
                                      spids: [42670]
                                    )
                                    (C {(eval)} 
                                      {
                                        (DQ ('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: [42690]
                                        )
                                      ]
                                    )
                                    (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: [42726]
                                                )
                                              ]
                                              spids: [42726]
                                            )
                                            (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: [42751 42789]
                                                    )
                                                  ]
                                                  spids: [16777215 42748]
                                                )
                                              ]
                                              spids: [16777215 42792]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Exit exit>
                                              arg_word: {($ VSub_Name '$lt_exit')}
                                            )
                                          ]
                                          spids: [42723]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [42667 42804]
                                )
                              spids: [42663 42665]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$save_ifs'))}
                                  spids: [42807]
                                )
                              ]
                              spids: [42807]
                            )
                            (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')})
                                        (Subshell
                                          child: 
                                            (AndOr
                                              ops: [Op_DAmp Op_DAmp Op_DAmp]
                                              children: [
                                                (C {(cd)} {($ VSub_Name '$output_objdir')})
                                                (C {($ VSub_Name '$RM')} {(${ VSub_Name realname) (T)})
                                                (C {($ VSub_Name '$MV')} {($ VSub_Name '$realname')} 
                                                  {(${ VSub_Name realname) (T)}
                                                )
                                                (C {($ VSub_Name '$MV')} {(${ VSub_Name realname) (U)} 
                                                  {($ VSub_Name '$realname')}
                                                )
                                              ]
                                            )
                                          spids: [42838 42873]
                                        )
                                        (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 42908]
                                                )
                                              ]
                                              spids: [16777215 42918]
                                            )
                                          ]
                                          spids: [16777215 42894]
                                        )
                                      ]
                                      spids: [16777215 42921]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Exit exit>
                                      arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                                    )
                                  ]
                                  spids: [16777215 42831]
                                )
                              ]
                              spids: [16777215 42930]
                            )
                            (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 42966]
                                        )
                                      ]
                                      spids: [16777215 42980]
                                    )
                                  ]
                                  spids: [42947 42983]
                                )
                              spids: [42943 42945]
                            )
                            (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: [43023]
                                        )
                                      ]
                                      spids: [43023]
                                    )
                                  ]
                                  spids: [16777215 43016]
                                )
                              ]
                              spids: [16777215 43029]
                            )
                          ]
                          spids: [16777215 39111]
                        )
                      ]
                      spids: [16777215 43032]
                    )
                  ]
                  spids: [33600 33601 43035 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 43068]
                        )
                      ]
                      spids: [16777215 43079]
                    )
                    (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: [43093 43104 43116 16777215]
                        )
                      ]
                      spids: [43083 43090 43119]
                    )
                    (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: [43243]
                                )
                              ]
                              spids: [43243]
                            )
                            (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: [43254]
                                )
                              ]
                              spids: [43254]
                            )
                          ]
                          spids: [43214 43216 43258 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libobj)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [43265]
                                )
                              ]
                              spids: [43265]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:obj)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$output'))}
                                  spids: [43268]
                                )
                              ]
                              spids: [43268]
                            )
                          ]
                          spids: [43261 43262 43274 16777215]
                        )
                      ]
                      spids: [43207 43211 43277]
                    )
                    (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: [43313]
                        )
                      ]
                      spids: [43313]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:gentop)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [43316]
                        )
                      ]
                      spids: [43316]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:wl)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [43331]
                        )
                      ]
                      spids: [43331]
                    )
                    (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)} 
                                      {
                                        (DQ ('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 
                                                                ($ VSub_Name 
'$tmp_whole_archive_flags'
                                                                )
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name '$SED')} {(SQ <'s|,| |g'>)})
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [43376 43390]
                                              )
                                            }
                                          spids: [43373]
                                        )
                                      ]
                                      spids: [43373]
                                    )
                                  ]
                                  spids: [16777215 43360]
                                )
                              ]
                              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: [43396]
                                    )
                                  ]
                                  spids: [43396]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:generated)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$generated') (' ') ($ VSub_Name '$gentop'))
                                        }
                                      spids: [43407]
                                    )
                                  ]
                                  spids: [43407]
                                )
                                (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: [43423]
                                    )
                                  ]
                                  spids: [43423]
                                )
                              ]
                              spids: [43393 43431]
                            )
                          ]
                          spids: [16777215 43346]
                        )
                      ]
                      spids: [16777215 43434]
                    )
                    (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 ($ VSub_Name '$libobjs'))})
                                          (C {($ VSub_Name '$SP2NL')})
                                          (C {($ VSub_Name '$SED')} 
                                            {
                                              (DQ (/) (Lit_Other '\\') (.) (${ VSub_Name libext) 
                                                (Lit_Other '$') ('/d; /') (Lit_Other '\\') (.lib) (Lit_Other '$') ('/d; ') ($ VSub_Name '$lo2o')
                                              )
                                            }
                                          )
                                          (C {($ VSub_Name '$NL2SP')})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [43448 43482]
                              ) (DQ (' ') ($ VSub_Name '$reload_conv_objs'))
                            }
                          spids: [43442]
                        )
                      ]
                      spids: [43442]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:output)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$obj'))}
                          spids: [43493]
                        )
                      ]
                      spids: [43493]
                    )
                    (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 43540]
                                )
                              ]
                              spids: [16777215 43550]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                            )
                          ]
                          spids: [16777215 43526]
                        )
                      ]
                      spids: [16777215 43559]
                    )
                    (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 43591]
                                )
                              ]
                              spids: [16777215 43601]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                            )
                          ]
                          spids: [16777215 43577]
                        )
                      ]
                      spids: [16777215 43626]
                    )
                    (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: [43661]
                                )
                              ]
                              spids: [43661]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:output)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$libobj'))}
                                  spids: [43669]
                                )
                              ]
                              spids: [43669]
                            )
                            (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$reload_cmds'))} 
                              {(SQ <'exit $?'>)}
                            )
                          ]
                          spids: [16777215 43654]
                        )
                      ]
                      spids: [16777215 43686]
                    )
                    (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 43701]
                        )
                      ]
                      spids: [16777215 43711]
                    )
                    (ControlFlow
                      token: <ControlFlow_Exit exit>
                      arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                    )
                  ]
                  spids: [43039 43040 43720 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: [43754]
                                )
                              ]
                              spids: [43754]
                            )
                          ]
                          spids: [43735 43738 43757 16777215]
                        )
                      ]
                      spids: [43728 43732 43760]
                    )
                    (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 (' ') ($ VSub_Name '$compile_deplibs'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {(SQ <'s/ -lc / System.ltframework /'>)}
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [43900 43915]
                                      )
                                    }
                                  spids: [43899]
                                )
                              ]
                              spids: [43899]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:finalize_deplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ (' ') ($ VSub_Name '$finalize_deplibs'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {(SQ <'s/ -lc / System.ltframework /'>)}
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [43919 43934]
                                      )
                                    }
                                  spids: [43918]
                                )
                              ]
                              spids: [43918]
                            )
                          ]
                          spids: [43877 43892 43937 16777215]
                        )
                      ]
                      spids: [43870 43874 43940]
                    )
                    (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: [43986 43990]
                                          )
                                        }
                                      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: [44002]
                                                )
                                              ]
                                              spids: [44002]
                                            )
                                            (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: [44013]
                                                )
                                              ]
                                              spids: [44013]
                                            )
                                          ]
                                          spids: [43995 43999 44024 16777215]
                                        )
                                      ]
                                      spids: [43984 43992 44027]
                                    )
                                  ]
                                  spids: [16777215 43981]
                                )
                              ]
                              spids: [16777215 44030]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:compile_deplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ (' ') ($ VSub_Name '$compile_deplibs'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {
                                                      (SQ 
                                                        <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [44038 44053]
                                      )
                                    }
                                  spids: [44037]
                                )
                              ]
                              spids: [44037]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:finalize_deplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ (' ') ($ VSub_Name '$finalize_deplibs'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {
                                                      (SQ 
                                                        <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [44057 44072]
                                      )
                                    }
                                  spids: [44056]
                                )
                              ]
                              spids: [44056]
                            )
                          ]
                          spids: [43951 43956 44075 16777215]
                        )
                      ]
                      spids: [43944 43948 44078]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new_libs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [44091]
                        )
                      ]
                      spids: [44091]
                    )
                    (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: [44117 44126 44128 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: [44158]
                                                )
                                              ]
                                              spids: [44158]
                                            )
                                          ]
                                          spids: [44146 44155 44167 16777215]
                                        )
                                      ]
                                      spids: [44135 44143 44170]
                                    )
                                  ]
                                  spids: [44131 44132 44173 16777215]
                                )
                              ]
                              spids: [44106 44114 44176]
                            )
                          ]
                          spids: [44103 44179]
                        )
                      spids: [44099 44101]
                    )
                    (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: [44217 44224 44226 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: [44232]
                                                )
                                              ]
                                              spids: [44232]
                                            )
                                          ]
                                          spids: [44229 44230 44239 16777215]
                                        )
                                      ]
                                      spids: [44206 44214 44242]
                                    )
                                  ]
                                  spids: [44201 44203 44245 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: [44251]
                                        )
                                      ]
                                      spids: [44251]
                                    )
                                  ]
                                  spids: [44248 44249 44258 16777215]
                                )
                              ]
                              spids: [44194 44198 44261]
                            )
                          ]
                          spids: [44191 44264]
                        )
                      spids: [44187 44189]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_deplibs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$new_libs'))}
                          spids: [44267]
                        )
                      ]
                      spids: [44267]
                    )
                    (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: [44275]
                        )
                      ]
                      spids: [44275]
                    )
                    (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: [44283]
                        )
                      ]
                      spids: [44283]
                    )
                    (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: [44339 44346 44348 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: [44354]
                                                )
                                              ]
                                              spids: [44354]
                                            )
                                          ]
                                          spids: [44351 44352 44361 16777215]
                                        )
                                      ]
                                      spids: [44329 44336 44364]
                                    )
                                  ]
                                  spids: [44322 44367]
                                )
                              spids: [44316 44320]
                            )
                          ]
                          spids: [16777215 44304]
                        )
                      ]
                      spids: [16777215 44370]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpath)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [44378]
                        )
                      ]
                      spids: [44378]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hardcode_libdirs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [44381]
                        )
                      ]
                      spids: [44381]
                    )
                    (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: [44440]
                                                        )
                                                      ]
                                                      spids: [44440]
                                                    )
                                                  ]
                                                  spids: [16777215 44437]
                                                )
                                              ]
                                              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: [44462 44469 44472 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: [44479]
                                                            )
                                                          ]
                                                          spids: [44479]
                                                        )
                                                      ]
                                                      spids: [44475 44476 44487 16777215]
                                                    )
                                                  ]
                                                  spids: [44453 44459 44490]
                                                )
                                              ]
                                              spids: [44446 44493]
                                            )
                                          ]
                                          spids: [16777215 44423]
                                        )
                                      ]
                                      else_action: [
                                        (C {(eval)} 
                                          {
                                            (DQ ('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: [44509]
                                            )
                                          ]
                                          spids: [44509]
                                        )
                                      ]
                                      spids: [44496 44517]
                                    )
                                  ]
                                  spids: [16777215 44409]
                                )
                                (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: [44544 44551 44553 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: [44559]
                                                )
                                              ]
                                              spids: [44559]
                                            )
                                          ]
                                          spids: [44556 44557 44566 16777215]
                                        )
                                      ]
                                      spids: [44534 44541 44569]
                                    )
                                  ]
                                  spids: [44520 44531]
                                )
                              ]
                              spids: [16777215 44572]
                            )
                            (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: [44621 44641]
                                              )
                                            }
                                          spids: [44620]
                                        )
                                      ]
                                      spids: [44620]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ':') ($ VSub_Name '$dllsearchpath') 
                                          (Lit_Other ':')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (':') ($ VSub_Name '$libdir') (':')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [44653 44660 44662 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: [44669]
                                                )
                                              ]
                                              spids: [44669]
                                            )
                                          ]
                                          spids: [44665 44667 44671 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: [44677]
                                                )
                                              ]
                                              spids: [44677]
                                            )
                                          ]
                                          spids: [44674 44675 44683 16777215]
                                        )
                                      ]
                                      spids: [44644 44650 44686]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ':') ($ VSub_Name '$dllsearchpath') 
                                          (Lit_Other ':')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') 
                                              (DQ (':') ($ VSub_Name '$testbindir') (':')) (Lit_Other '*')
                                            }
                                          ]
                                          spids: [44698 44705 44707 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: [44714]
                                                )
                                              ]
                                              spids: [44714]
                                            )
                                          ]
                                          spids: [44710 44712 44716 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: [44722]
                                                )
                                              ]
                                              spids: [44722]
                                            )
                                          ]
                                          spids: [44719 44720 44728 16777215]
                                        )
                                      ]
                                      spids: [44689 44695 44731]
                                    )
                                  ]
                                  spids: [44582 44617 44734 16777215]
                                )
                              ]
                              spids: [44575 44579 44737]
                            )
                          ]
                          spids: [44395 44740]
                        )
                      spids: [44389 44393]
                    )
                    (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: [44772]
                                )
                              ]
                              spids: [44772]
                            )
                            (C {(eval)} 
                              {
                                (DQ ('rpath=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') 
                                  ($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                )
                              }
                            )
                          ]
                          spids: [16777215 44769]
                        )
                      ]
                      spids: [16777215 44789]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_rpath)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$rpath'))}
                          spids: [44792]
                        )
                      ]
                      spids: [44792]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpath)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [44799]
                        )
                      ]
                      spids: [44799]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hardcode_libdirs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [44802]
                        )
                      ]
                      spids: [44802]
                    )
                    (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: [44859]
                                                        )
                                                      ]
                                                      spids: [44859]
                                                    )
                                                  ]
                                                  spids: [16777215 44856]
                                                )
                                              ]
                                              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: [44881 44888 44891 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: [44898]
                                                            )
                                                          ]
                                                          spids: [44898]
                                                        )
                                                      ]
                                                      spids: [44894 44895 44906 16777215]
                                                    )
                                                  ]
                                                  spids: [44872 44878 44909]
                                                )
                                              ]
                                              spids: [44865 44912]
                                            )
                                          ]
                                          spids: [16777215 44842]
                                        )
                                      ]
                                      else_action: [
                                        (C {(eval)} 
                                          {
                                            (DQ ('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: [44928]
                                            )
                                          ]
                                          spids: [44928]
                                        )
                                      ]
                                      spids: [44915 44936]
                                    )
                                  ]
                                  spids: [16777215 44828]
                                )
                                (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: [44963 44970 44972 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: [44978]
                                                )
                                              ]
                                              spids: [44978]
                                            )
                                          ]
                                          spids: [44975 44976 44985 16777215]
                                        )
                                      ]
                                      spids: [44953 44960 44988]
                                    )
                                  ]
                                  spids: [44939 44950]
                                )
                              ]
                              spids: [16777215 44991]
                            )
                          ]
                          spids: [44814 44994]
                        )
                      spids: [44810 44812]
                    )
                    (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: [45026]
                                )
                              ]
                              spids: [45026]
                            )
                            (C {(eval)} 
                              {
                                (DQ ('rpath=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') 
                                  ($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                )
                              }
                            )
                          ]
                          spids: [16777215 45023]
                        )
                      ]
                      spids: [16777215 45043]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_rpath)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$rpath'))}
                          spids: [45046]
                        )
                      ]
                      spids: [45046]
                    )
                    (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 ($ VSub_Name '$compile_command'))}
                                                  )
                                                  (C {($ VSub_Name '$SP2NL')})
                                                  (C {($ VSub_Name '$SED')} {(DQ ($ VSub_Name '$lo2o'))})
                                                  (C {($ VSub_Name '$NL2SP')})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [45084 45106]
                                      )
                                    }
                                  spids: [45083]
                                )
                              ]
                              spids: [45083]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:finalize_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ ($ VSub_Name '$finalize_command'))}
                                                  )
                                                  (C {($ VSub_Name '$SP2NL')})
                                                  (C {($ VSub_Name '$SED')} {(DQ ($ VSub_Name '$lo2o'))})
                                                  (C {($ VSub_Name '$NL2SP')})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [45110 45132]
                                      )
                                    }
                                  spids: [45109]
                                )
                              ]
                              spids: [45109]
                            )
                          ]
                          spids: [16777215 45076]
                        )
                      ]
                      spids: [16777215 45135]
                    )
                    (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 45170]
                        )
                      ]
                      spids: [16777215 45184]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:wrappers_required)
                          op: Equal
                          rhs: {(yes)}
                          spids: [45188]
                        )
                      ]
                      spids: [45188]
                    )
                    (Case
                      to_match: {($ VSub_Name '$host')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(Lit_Other '*') (cegcc) (Lit_Other '*')}
                            {(Lit_Other '*') (mingw32ce) (Lit_Other '*')}
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:wrappers_required)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [45215]
                                )
                              ]
                              spids: [45215]
                            )
                          ]
                          spids: [45199 45208 45219 16777215]
                        )
                        (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: [45252]
                                        )
                                      ]
                                      spids: [45252]
                                    )
                                  ]
                                  spids: [16777215 45249]
                                )
                              ]
                              spids: [16777215 45256]
                            )
                          ]
                          spids: [45222 45232 45259 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: [45295]
                                        )
                                      ]
                                      spids: [45295]
                                    )
                                  ]
                                  spids: [16777215 45292]
                                )
                              ]
                              spids: [16777215 45299]
                            )
                          ]
                          spids: [45262 45263 45302 16777215]
                        )
                      ]
                      spids: [45192 45196 45305]
                    )
                    (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 ($ VSub_Name '$compile_command'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {(SQ <'s%@OUTPUT@%'>) 
                                                      (DQ ($ VSub_Name '$output')) (SQ <'%g'>)
                                                    }
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [45329 45349]
                                      )
                                    }
                                  spids: [45328]
                                )
                              ]
                              spids: [45328]
                            )
                            (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: [45352]
                                )
                              ]
                              spids: [45352]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:exit_status)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [45364]
                                )
                              ]
                              spids: [45364]
                            )
                            (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 45403]
                                )
                              ]
                              spids: [16777215 45413]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$exit_status')}
                            )
                          ]
                          spids: [16777215 45321]
                        )
                      ]
                      spids: [16777215 45422]
                    )
                    (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: [45441]
                                )
                              ]
                              spids: [45441]
                            )
                          ]
                          spids: [16777215 45438]
                        )
                      ]
                      spids: [16777215 45456]
                    )
                    (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: [45473]
                                )
                              ]
                              spids: [45473]
                            )
                          ]
                          spids: [16777215 45470]
                        )
                      ]
                      spids: [16777215 45487]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_var)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [45491]
                        )
                      ]
                      spids: [45491]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_var)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [45494]
                        )
                      ]
                      spids: [45494]
                    )
                    (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: [45529]
                                        )
                                      ]
                                      spids: [45529]
                                    )
                                    (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: [45544]
                                                )
                                              ]
                                              spids: [45544]
                                            )
                                          ]
                                          spids: [45541 45552]
                                        )
                                      spids: [45537 45539]
                                    )
                                    (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: [45555]
                                        )
                                      ]
                                      spids: [45555]
                                    )
                                  ]
                                  spids: [16777215 45522]
                                )
                              ]
                              spids: [16777215 45568]
                            )
                            (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: [45589]
                                        )
                                      ]
                                      spids: [45589]
                                    )
                                    (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: [45604]
                                                )
                                              ]
                                              spids: [45604]
                                            )
                                          ]
                                          spids: [45601 45612]
                                        )
                                      spids: [45597 45599]
                                    )
                                    (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: [45615]
                                        )
                                      ]
                                      spids: [45615]
                                    )
                                  ]
                                  spids: [16777215 45582]
                                )
                              ]
                              spids: [16777215 45628]
                            )
                          ]
                          spids: [16777215 45508]
                        )
                      ]
                      spids: [16777215 45631]
                    )
                    (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: [45655]
                                )
                              ]
                              spids: [45655]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ ($ VSub_Name '$link_command'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {(SQ <'s%@OUTPUT@%'>) 
                                                      (DQ ($ VSub_Name '$output')) (SQ <'%g'>)
                                                    }
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [45668 45688]
                                      )
                                    }
                                  spids: [45667]
                                )
                              ]
                              spids: [45667]
                            )
                            (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 45648]
                        )
                      ]
                      spids: [16777215 45724]
                    )
                    (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: [45748]
                                )
                              ]
                              spids: [45748]
                            )
                            (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: [45756]
                                )
                              ]
                              spids: [45756]
                            )
                            (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 45741]
                        )
                      ]
                      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: [45801]
                                    )
                                  ]
                                  spids: [45801]
                                )
                                (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 ($ VSub_Name '$compile_var') 
                                                                    ($ VSub_Name '$compile_command') ($ VSub_Name '$compile_rpath')
                                                                  )
                                                                }
                                                              )
                                                              (C {($ VSub_Name '$SED')} 
                                                                {
                                                                  (SQ 
                                                                    <
's%@OUTPUT@%\\$progdir/\\$file%g'
                                                                    >
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: F
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [45826 45842]
                                                  )
                                                }
                                              spids: [45825]
                                            )
                                          ]
                                          spids: [45825]
                                        )
                                      ]
                                      spids: [16777215 45822]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [45852]
                                        )
                                      ]
                                      spids: [45852]
                                    )
                                  ]
                                  spids: [45845 45855]
                                )
                              ]
                              spids: [16777215 45798]
                            )
                          ]
                          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: [45861]
                                )
                              ]
                              spids: [45861]
                            )
                            (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: [45869]
                                )
                              ]
                              spids: [45869]
                            )
                          ]
                          spids: [45858 45877]
                        )
                      ]
                      spids: [45781 45880]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:link_command)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name '$ECHO')} 
                                            {(DQ ($ VSub_Name '$link_command'))}
                                          )
                                          (C {($ VSub_Name '$SED')} 
                                            {(SQ <'s%@OUTPUT@%'>) 
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                ($ VSub_Name '$outputname')
                                              ) (SQ <'%g'>)
                                            }
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [45889 45911]
                              )
                            }
                          spids: [45888]
                        )
                      ]
                      spids: [45888]
                    )
                    (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: [46017]
                                                )
                                              ]
                                              spids: [46017]
                                            )
                                          ]
                                          spids: [16777215 46014]
                                        )
                                        (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: [46060]
                                                )
                                              ]
                                              spids: [46060]
                                            )
                                          ]
                                          spids: [46039 46057]
                                        )
                                      ]
                                      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: [46080]
                                            )
                                          ]
                                          spids: [46080]
                                        )
                                      ]
                                      spids: [46070 46092]
                                    )
                                  ]
                                  spids: [45993 46095]
                                )
                              spids: [45989 45991]
                            )
                            (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: [46101 46103]
                                        ) ('; ') ($ VSub_Name '$relink_command') (')')
                                      )
                                    }
                                  spids: [46098]
                                )
                              ]
                              spids: [46098]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ ($ VSub_Name '$relink_command'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {(DQ ($ VSub_Name '$sed_quote_subst'))}
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [46111 46125]
                                      )
                                    }
                                  spids: [46110]
                                )
                              ]
                              spids: [46110]
                            )
                          ]
                          spids: [16777215 45977]
                        )
                      ]
                      spids: [16777215 46128]
                    )
                    (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: [46176]
                                        )
                                      ]
                                      spids: [46176]
                                    )
                                  ]
                                  spids: [46158 46160 46179 16777215]
                                )
                              ]
                              spids: [46151 46155 46182]
                            )
                            (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: [46202]
                                        )
                                      ]
                                      spids: [46202]
                                    )
                                    (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: [46220]
                                        )
                                      ]
                                      spids: [46220]
                                    )
                                  ]
                                  spids: [46196 46199 46223 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:exeext)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [46229]
                                        )
                                      ]
                                      spids: [46229]
                                    )
                                  ]
                                  spids: [46226 46227 46231 16777215]
                                )
                              ]
                              spids: [46189 46193 46234]
                            )
                            (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: [46271]
                                        )
                                      ]
                                      spids: [46271]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:output_path)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_dirname_result')}
                                          spids: [46275]
                                        )
                                      ]
                                      spids: [46275]
                                    )
                                    (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: [46279]
                                        )
                                      ]
                                      spids: [46279]
                                    )
                                    (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: [46290]
                                        )
                                      ]
                                      spids: [46290]
                                    )
                                    (C {($ VSub_Name '$RM')} {($ VSub_Name '$cwrappersource')} 
                                      {($ VSub_Name '$cwrapper')}
                                    )
                                    (C {(trap)} 
                                      {
                                        (DQ ($ VSub_Name '$RM') (' ') ($ VSub_Name '$cwrappersource') 
                                          (' ') ($ VSub_Name '$cwrapper') ('; exit ') ($ VSub_Name '$EXIT_FAILURE')
                                        )
                                      } {(1)} {(2)} {(15)}
                                    )
                                    (SimpleCommand
                                      words: [{(func_emit_cwrapperexe_src)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: 16777215
                                          arg_word: {($ VSub_Name '$cwrappersource')}
                                          spids: [46328]
                                        )
                                      ]
                                    )
                                    (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: [46354]
                                        )
                                      ]
                                    )
                                    (C {(func_ltwrapper_scriptname)} {($ VSub_Name '$cwrapper')})
                                    (C {($ VSub_Name '$RM')} 
                                      {($ VSub_Name '$func_ltwrapper_scriptname_result')}
                                    )
                                    (C {(trap)} 
                                      {
                                        (DQ ($ VSub_Name '$RM') (' ') 
                                          ($ VSub_Name '$func_ltwrapper_scriptname_result') ('; exit ') ($ VSub_Name '$EXIT_FAILURE')
                                        )
                                      } {(1)} {(2)} {(15)}
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (BraceGroup
                                          children: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ (x) ($ VSub_Name '$build'))} 
                                                          {(Lit_Other '=')} {(DQ (x) ($ VSub_Name '$host'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (SimpleCommand
                                                      words: [
                                                        {($ VSub_Name '$cwrapper')}
                                                        {(--lt-dump-script)}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: 16777215
                                                          arg_word: 
                                                            {
                                                              ($ VSub_Name 
'$func_ltwrapper_scriptname_result'
                                                              )
                                                            }
                                                          spids: [46444]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [16777215 46437]
                                                )
                                              ]
                                              else_action: [
                                                (SimpleCommand
                                                  words: [{(func_emit_wrapper)} {(no)}]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_Great
                                                      fd: 16777215
                                                      arg_word: 
                                                        {
                                                          ($ VSub_Name 
'$func_ltwrapper_scriptname_result'
                                                          )
                                                        }
                                                      spids: [46456]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [46449 46461]
                                            )
                                          ]
                                          spids: [46412]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [46244 46254 46467 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {($ VSub_Name '$RM')} {($ VSub_Name '$output')})
                                    (C {(trap)} 
                                      {
                                        (DQ ($ VSub_Name '$RM') (' ') ($ VSub_Name '$output') 
                                          ('; exit ') ($ VSub_Name '$EXIT_FAILURE')
                                        )
                                      } {(1)} {(2)} {(15)}
                                    )
                                    (SimpleCommand
                                      words: [{(func_emit_wrapper)} {(no)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: 16777215
                                          arg_word: {($ VSub_Name '$output')}
                                          spids: [46502]
                                        )
                                      ]
                                    )
                                    (C {(chmod)} {(Lit_Other '+') (x)} {($ VSub_Name '$output')})
                                  ]
                                  spids: [46470 46472 46515 16777215]
                                )
                              ]
                              spids: [46237 46241 46518]
                            )
                          ]
                          spids: [46140]
                        )
                      ]
                    )
                    (ControlFlow
                      token: <ControlFlow_Exit exit>
                      arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                    )
                  ]
                  spids: [43724 43725 46529 16777215]
                )
              ]
              spids: [33378 33382 46532]
            )
            (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: [46569]
                                )
                              ]
                              spids: [46569]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:addlibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$convenience'))}
                                  spids: [46577]
                                )
                              ]
                              spids: [46577]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [46583]
                                )
                              ]
                              spids: [46583]
                            )
                          ]
                          spids: [16777215 46566]
                        )
                      ]
                      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: [46606]
                                    )
                                  ]
                                  spids: [46606]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:build_libtool_libs)
                                      op: Equal
                                      rhs: {(no)}
                                      spids: [46612]
                                    )
                                  ]
                                  spids: [46612]
                                )
                              ]
                              spids: [16777215 46603]
                            )
                          ]
                          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: [46619]
                                )
                              ]
                              spids: [46619]
                            )
                            (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: [46653]
                                        )
                                      ]
                                      spids: [46653]
                                    )
                                  ]
                                  spids: [16777215 46650]
                                )
                              ]
                              spids: [16777215 46661]
                            )
                          ]
                          spids: [46616 46664]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:addlibs)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$old_convenience'))}
                              spids: [46667]
                            )
                          ]
                          spids: [46667]
                        )
                      ]
                      spids: [46587 46673]
                    )
                    (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: [46691]
                                )
                              ]
                              spids: [46691]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:generated)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$generated') (' ') ($ VSub_Name '$gentop'))}
                                  spids: [46702]
                                )
                              ]
                              spids: [46702]
                            )
                            (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: [46718]
                                )
                              ]
                              spids: [46718]
                            )
                          ]
                          spids: [16777215 46688]
                        )
                      ]
                      spids: [16777215 46726]
                    )
                    (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: [46760]
                                )
                              ]
                              spids: [46760]
                            )
                          ]
                          spids: [16777215 46757]
                        )
                      ]
                      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: [46786]
                                    )
                                  ]
                                  spids: [46786]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:generated)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$generated') (' ') ($ VSub_Name '$gentop'))
                                        }
                                      spids: [46797]
                                    )
                                  ]
                                  spids: [46797]
                                )
                                (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: [46813]
                                    )
                                  ]
                                  spids: [46813]
                                )
                              ]
                              spids: [16777215 46783]
                            )
                          ]
                          spids: [16777215 46821]
                        )
                        (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: [46861 46878]
                                                )
                                              spids: [46857 16777215]
                                            )
                                            (C {(sort)})
                                            (SimpleCommand
                                              words: [{(sort)} {(-uc)}]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: 16777215
                                                  arg_word: {(/dev/null)}
                                                  spids: [46890]
                                                )
                                                (Redir
                                                  op_id: Redir_GreatAnd
                                                  fd: 2
                                                  arg_word: {(1)}
                                                  spids: [46893]
                                                )
                                              ]
                                            )
                                          ]
                                          negated: F
                                        )
                                      spids: [46851 46895]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [(C {(Lit_Other ':')})]
                              spids: [16777215 46898]
                            )
                          ]
                          else_action: [
                            (C {(echo)} 
                              {(DQ ('copying selected object files to avoid basename conflicts...'))}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:gentop)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$output_objdir') (/) (${ VSub_Name outputname) 
                                        (x)
                                      )
                                    }
                                  spids: [46914]
                                )
                              ]
                              spids: [46914]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:generated)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$generated') (' ') ($ VSub_Name '$gentop'))}
                                  spids: [46925]
                                )
                              ]
                              spids: [46925]
                            )
                            (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: [46940]
                                )
                              ]
                              spids: [46940]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [46944]
                                )
                              ]
                              spids: [46944]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:counter)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [46947]
                                )
                              ]
                              spids: [46947]
                            )
                            (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: [46970]
                                        )
                                      ]
                                      spids: [46970]
                                    )
                                    (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: [46992]
                                                )
                                              ]
                                              spids: [46992]
                                            )
                                          ]
                                          spids: [46988 46990 46995 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (Lit_Other '[') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\ '>
                                              ) (/) (Lit_Other ']') (DQ ($ VSub_Name '$objbase') (' ')) (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (While
                                              cond: [
                                                (Sentence
                                                  child: (C {(Lit_Other ':')})
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:newobj)
                                                          op: Equal
                                                          rhs: 
                                                            {(lt) ($ VSub_Name '$counter') (-) 
                                                              ($ VSub_Name '$objbase')
                                                            }
                                                          spids: [47027]
                                                        )
                                                      ]
                                                      spids: [47027]
                                                    )
                                                    (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: [47043]
                                                        )
                                                      ]
                                                      spids: [47043]
                                                    )
                                                    (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: [47058 47068 47070 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 47091]
                                                                )
                                                              ]
                                                              spids: [16777215 47096]
                                                            )
                                                          ]
                                                          spids: [47073 47074 47098 16777215]
                                                        )
                                                      ]
                                                      spids: [47047 47055 47101]
                                                    )
                                                  ]
                                                  spids: [47016 47104]
                                                )
                                            )
                                            (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: [47125]
                                                )
                                              ]
                                              spids: [47125]
                                            )
                                          ]
                                          spids: [46998 47008 47135 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: [47141]
                                                )
                                              ]
                                              spids: [47141]
                                            )
                                          ]
                                          spids: [47138 47139 47148 16777215]
                                        )
                                      ]
                                      spids: [46976 46984 47151]
                                    )
                                  ]
                                  spids: [46960 47154]
                                )
                              spids: [46956 16777215]
                            )
                          ]
                          spids: [46904 47157]
                        )
                        (C {(eval)} 
                          {
                            (DQ ('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: [47179]
                            )
                          ]
                          spids: [47179]
                        )
                        (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: [47213]
                                    )
                                  ]
                                  spids: [47213]
                                )
                              ]
                              spids: [16777215 47210]
                            )
                          ]
                          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: [47231]
                                )
                              ]
                              spids: [47231]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RANLIB)
                                  op: Equal
                                  rhs: {(Lit_Other ':')}
                                  spids: [47235]
                                )
                              ]
                              spids: [47235]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:objlist)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [47239]
                                )
                              ]
                              spids: [47239]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:concat_cmds)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [47242]
                                )
                              ]
                              spids: [47242]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:save_oldobjs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$oldobjs')}
                                  spids: [47245]
                                )
                              ]
                              spids: [47245]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [47249]
                                )
                              ]
                              spids: [47249]
                            )
                            (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: [47268]
                                        )
                                      ]
                                      spids: [47268]
                                    )
                                  ]
                                  spids: [47265 47272]
                                )
                              spids: [47261 16777215]
                            )
                            (C {(eval)} 
                              {
                                (DQ ('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: [47293]
                                )
                              ]
                              spids: [47293]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:len)
                                  op: Equal
                                  rhs: {($ VSub_Name '$len0')}
                                  spids: [47297]
                                )
                              ]
                              spids: [47297]
                            )
                            (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: [47330]
                                        )
                                      ]
                                      spids: [47330]
                                    )
                                    (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 47359]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:oldobjs)
                                              op: Equal
                                              rhs: {($ VSub_Name '$objlist')}
                                              spids: [47372]
                                            )
                                          ]
                                          spids: [47372]
                                        )
                                        (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: [47395]
                                                    )
                                                  ]
                                                  spids: [47395]
                                                )
                                              ]
                                              spids: [16777215 47392]
                                            )
                                          ]
                                          spids: [16777215 47399]
                                        )
                                        (AndOr
                                          ops: [Op_DPipe]
                                          children: [
                                            (C {(test)} {(-z)} {(DQ ($ VSub_Name '$concat_cmds'))})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:concat_cmds)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$concat_cmds') (Lit_Tilde '~')}
                                                  spids: [47412]
                                                )
                                              ]
                                              spids: [47412]
                                            )
                                          ]
                                        )
                                        (C {(eval)} 
                                          {
                                            (DQ ('concat_cmds=') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\"'>
                                              ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{concat_cmds}') ($ VSub_Name '$old_archive_cmds') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\"'>
                                              )
                                            )
                                          }
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:objlist)
                                              op: Equal
                                              rhs: {(EmptyPart)}
                                              spids: [47429]
                                            )
                                          ]
                                          spids: [47429]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:len)
                                              op: Equal
                                              rhs: {($ VSub_Name '$len0')}
                                              spids: [47432]
                                            )
                                          ]
                                          spids: [47432]
                                        )
                                      ]
                                      spids: [47365 47436]
                                    )
                                  ]
                                  spids: [47310 47439]
                                )
                              spids: [47306 16777215]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RANLIB)
                                  op: Equal
                                  rhs: {($ VSub_Name '$save_RANLIB')}
                                  spids: [47442]
                                )
                              ]
                              spids: [47442]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$objlist')}
                                  spids: [47446]
                                )
                              ]
                              spids: [47446]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ (X) ($ VSub_Name '$oldobjs'))} 
                                          {(Lit_Other '=')} {(DQ (X))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {
                                        (DQ ('cmds=') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\"'>
                                          ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (concat_cmds) 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\"'>
                                          )
                                        )
                                      }
                                    )
                                  ]
                                  spids: [16777215 47467]
                                )
                              ]
                              else_action: [
                                (C {(eval)} 
                                  {
                                    (DQ ('cmds=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\$'>
                                      ) ('concat_cmds~') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (old_archive_cmds) 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\"'>
                                      )
                                    )
                                  }
                                )
                              ]
                              spids: [47481 47497]
                            )
                          ]
                          spids: [47217 47500]
                        )
                      ]
                      spids: [46764 47503]
                    )
                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$cmds'))} {(SQ <'exit $?'>)})
                  ]
                  spids: [46549 47517]
                )
              spids: [46545 46547]
            )
            (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: [47561]
                        )
                      ]
                      spids: [47561]
                    )
                    (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: [47576]
                            )
                          ]
                          spids: [47576]
                        )
                      ]
                    )
                    (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: [47630]
                                        )
                                      ]
                                      spids: [47630]
                                    )
                                  ]
                                  spids: [16777215 47627]
                                )
                                (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: [47673]
                                        )
                                      ]
                                      spids: [47673]
                                    )
                                  ]
                                  spids: [47652 47670]
                                )
                              ]
                              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: [47693]
                                    )
                                  ]
                                  spids: [47693]
                                )
                              ]
                              spids: [47683 47705]
                            )
                          ]
                          spids: [47606 47708]
                        )
                      spids: [47602 47604]
                    )
                    (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: [47718 47720]
                                ) ('; ') ($ VSub_Name '$SHELL') (' ') ($ VSub_Name '$progpath') (' ') ($ VSub_Name '$preserve_args') 
                                (' --mode=relink ') ($ VSub_Name '$libtool_args') (' @inst_prefix_dir@)')
                              )
                            }
                          spids: [47715]
                        )
                      ]
                      spids: [47715]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:relink_command)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name '$ECHO')} 
                                            {(DQ ($ VSub_Name '$relink_command'))}
                                          )
                                          (C {($ VSub_Name '$SED')} 
                                            {(DQ ($ VSub_Name '$sed_quote_subst'))}
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [47734 47748]
                              )
                            }
                          spids: [47733]
                        )
                      ]
                      spids: [47733]
                    )
                    (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: [47768]
                                )
                              ]
                              spids: [47768]
                            )
                          ]
                          spids: [16777215 47765]
                        )
                      ]
                      spids: [16777215 47771]
                    )
                    (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 47827]
                                                )
                                              ]
                                              spids: [16777215 47833]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:output)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$outputname')
                                                      ) (i)
                                                    }
                                                  spids: [47836]
                                                )
                                              ]
                                              spids: [47836]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdependency_libs)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [47849]
                                                )
                                              ]
                                              spids: [47849]
                                            )
                                            (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: [47883]
                                                                )
                                                              ]
                                                              spids: [47883]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:libdir)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (C {(${ VSub_Name SED)} 
                                                                                {(-n)} {(-e)} {(SQ <'s/^libdir=\\(.*\\)$/\\1/p'>)} {($ VSub_Name '$deplib')}
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick '`'>
                                                                        spids: [47890 47904]
                                                                      )
                                                                    }
                                                                  spids: [47889]
                                                                )
                                                              ]
                                                              spids: [47889]
                                                            )
                                                            (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: [47928]
                                                                )
                                                              ]
                                                              spids: [47928]
                                                            )
                                                          ]
                                                          spids: [47871 47873 47938 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: [47944]
                                                                )
                                                              ]
                                                              spids: [47944]
                                                            )
                                                          ]
                                                          spids: [47941 47942 47951 16777215]
                                                        )
                                                      ]
                                                      spids: [47864 47868 47954]
                                                    )
                                                  ]
                                                  spids: [47861 47957]
                                                )
                                              spids: [47857 47859]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dependency_libs)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$newdependency_libs'))}
                                                  spids: [47960]
                                                )
                                              ]
                                              spids: [47960]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdlfiles)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [47966]
                                                )
                                              ]
                                              spids: [47966]
                                            )
                                            (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: [48001]
                                                                )
                                                              ]
                                                              spids: [48001]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:libdir)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (C {(${ VSub_Name SED)} 
                                                                                {(-n)} {(-e)} {(SQ <'s/^libdir=\\(.*\\)$/\\1/p'>)} {($ VSub_Name '$lib')}
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick '`'>
                                                                        spids: [48008 48022]
                                                                      )
                                                                    }
                                                                  spids: [48007]
                                                                )
                                                              ]
                                                              spids: [48007]
                                                            )
                                                            (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: [48046]
                                                                )
                                                              ]
                                                              spids: [48046]
                                                            )
                                                          ]
                                                          spids: [47989 47991 48056 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: [48062]
                                                                )
                                                              ]
                                                              spids: [48062]
                                                            )
                                                          ]
                                                          spids: [48059 48060 48069 16777215]
                                                        )
                                                      ]
                                                      spids: [47982 47986 48072]
                                                    )
                                                  ]
                                                  spids: [47979 48075]
                                                )
                                              spids: [47975 47977]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlfiles)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$newdlfiles'))}
                                                  spids: [48078]
                                                )
                                              ]
                                              spids: [48078]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdlprefiles)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [48084]
                                                )
                                              ]
                                              spids: [48084]
                                            )
                                            (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: [48134]
                                                                )
                                                              ]
                                                              spids: [48134]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:libdir)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (C {(${ VSub_Name SED)} 
                                                                                {(-n)} {(-e)} {(SQ <'s/^libdir=\\(.*\\)$/\\1/p'>)} {($ VSub_Name '$lib')}
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick '`'>
                                                                        spids: [48141 48155]
                                                                      )
                                                                    }
                                                                  spids: [48140]
                                                                )
                                                              ]
                                                              spids: [48140]
                                                            )
                                                            (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: [48179]
                                                                )
                                                              ]
                                                              spids: [48179]
                                                            )
                                                          ]
                                                          spids: [48106 48108 48189 16777215]
                                                        )
                                                      ]
                                                      spids: [48099 48103 48192]
                                                    )
                                                  ]
                                                  spids: [48096 48195]
                                                )
                                              spids: [48092 48094]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlprefiles)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$newdlprefiles'))}
                                                  spids: [48198]
                                                )
                                              ]
                                              spids: [48198]
                                            )
                                          ]
                                          spids: [16777215 47813]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdlfiles)
                                              op: Equal
                                              rhs: {(EmptyPart)}
                                              spids: [48207]
                                            )
                                          ]
                                          spids: [48207]
                                        )
                                        (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: [48248]
                                                            )
                                                          ]
                                                          spids: [48248]
                                                        )
                                                      ]
                                                      spids: [48229 48246 48253 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: [48260 48262]
                                                                  ) (DQ (/) ($ VSub_Name '$lib'))
                                                                }
                                                              spids: [48259]
                                                            )
                                                          ]
                                                          spids: [48259]
                                                        )
                                                      ]
                                                      spids: [48256 48257 48268 16777215]
                                                    )
                                                  ]
                                                  spids: [48222 48226 48271]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:newdlfiles)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$newdlfiles') (' ') 
                                                            ($ VSub_Name '$abs')
                                                          )
                                                        }
                                                      spids: [48274]
                                                    )
                                                  ]
                                                  spids: [48274]
                                                )
                                              ]
                                              spids: [48219 48282]
                                            )
                                          spids: [48215 48217]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dlfiles)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$newdlfiles'))}
                                              spids: [48285]
                                            )
                                          ]
                                          spids: [48285]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdlprefiles)
                                              op: Equal
                                              rhs: {(EmptyPart)}
                                              spids: [48291]
                                            )
                                          ]
                                          spids: [48291]
                                        )
                                        (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: [48332]
                                                            )
                                                          ]
                                                          spids: [48332]
                                                        )
                                                      ]
                                                      spids: [48313 48330 48337 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: [48344 48346]
                                                                  ) (DQ (/) ($ VSub_Name '$lib'))
                                                                }
                                                              spids: [48343]
                                                            )
                                                          ]
                                                          spids: [48343]
                                                        )
                                                      ]
                                                      spids: [48340 48341 48352 16777215]
                                                    )
                                                  ]
                                                  spids: [48306 48310 48355]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:newdlprefiles)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$newdlprefiles') (' ') 
                                                            ($ VSub_Name '$abs')
                                                          )
                                                        }
                                                      spids: [48358]
                                                    )
                                                  ]
                                                  spids: [48358]
                                                )
                                              ]
                                              spids: [48303 48366]
                                            )
                                          spids: [48299 48301]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dlprefiles)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$newdlprefiles'))}
                                              spids: [48369]
                                            )
                                          ]
                                          spids: [48369]
                                        )
                                      ]
                                      spids: [48204 48375]
                                    )
                                    (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: [48419]
                                        )
                                      ]
                                      spids: [48419]
                                    )
                                    (Case
                                      to_match: 
                                        {($ VSub_Name '$host') (Lit_Comma ',') 
                                          ($ VSub_Name '$output') (Lit_Comma ',') ($ VSub_Name '$installed') (Lit_Comma ',') ($ VSub_Name '$module') (Lit_Comma ',') 
                                          ($ VSub_Name '$dlname')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (cygwin) (Lit_Other '*') (Lit_Comma ',') 
                                              (Lit_Other '*') (lai) (Lit_Comma ',') (yes) (Lit_Comma ',') (no) (Lit_Comma ',') (Lit_Other '*') (.dll)
                                            }
                                            {(Lit_Other '*') (mingw) (Lit_Other '*') (Lit_Comma ',') 
                                              (Lit_Other '*') (lai) (Lit_Comma ',') (yes) (Lit_Comma ',') (no) (Lit_Comma ',') (Lit_Other '*') (.dll)
                                            }
                                            {(Lit_Other '*') (cegcc) (Lit_Other '*') (Lit_Comma ',') 
                                              (Lit_Other '*') (lai) (Lit_Comma ',') (yes) (Lit_Comma ',') (no) (Lit_Comma ',') (Lit_Other '*') (.dll)
                                            }
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ (x) ($ VSub_Name '$bindir'))} 
                                                          {(KW_Bang '!') (Lit_Other '=')} {(x)}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_relative_path)} 
                                                      {(DQ ($ VSub_Name '$install_libdir'))} {(DQ ($ VSub_Name '$bindir'))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:tdlname)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              ($ VSub_Name 
'$func_relative_path_result'
                                                              ) ($ VSub_Name '$dlname')
                                                            }
                                                          spids: [48521]
                                                        )
                                                      ]
                                                      spids: [48521]
                                                    )
                                                  ]
                                                  spids: [16777215 48507]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:tdlname)
                                                      op: Equal
                                                      rhs: {(../bin/) ($ VSub_Name '$dlname')}
                                                      spids: [48533]
                                                    )
                                                  ]
                                                  spids: [48533]
                                                )
                                              ]
                                              spids: [48526 48538]
                                            )
                                          ]
                                          spids: [48438 48483 48541 16777215]
                                        )
                                      ]
                                      spids: [48423 48435 48544]
                                    )
                                    (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_id: Redir_Great
                                          fd: 16777215
                                          arg_word: {($ VSub_Name '$output')}
                                          spids: [48549]
                                        )
                                      ]
                                    )
                                    (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_id: Redir_DGreat
                                                  fd: 16777215
                                                  arg_word: {($ VSub_Name '$output')}
                                                  spids: [48668]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 48663]
                                        )
                                      ]
                                      spids: [16777215 48681]
                                    )
                                  ]
                                  spids: [47797 48684]
                                )
                              spids: [47791 47795]
                            )
                          ]
                          spids: [47783]
                        )
                      ]
                    )
                    (C {(func_show_eval)} 
                      {
                        (SQ 
                          <
'( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )'
                          >
                        )
                      } {(SQ <'exit $?'>)}
                    )
                  ]
                  spids: [47556 47558 48710 16777215]
                )
              ]
              spids: [47549 47553 48713]
            )
            (ControlFlow
              token: <ControlFlow_Exit exit>
              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
            )
          ]
          spids: [19264]
        )
      spids: [19259 19263]
    )
    (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: [48723]
        )
        (C {(func_mode_link)} 
          {
            (BracedVarSub
              token: <VSub_Number 1>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
              spids: [48755 48761]
            )
          }
        )
      ]
    )
    (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: [48779]
                )
              ]
              spids: [48779]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:files) op:Equal rhs:{(EmptyPart)} spids:[48785])]
              spids: [48785]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:rmforce)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [48788]
                )
              ]
              spids: [48788]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:exit_status) op:Equal rhs:{(0)} spids:[48791])]
              spids: [48791]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_install_magic)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$magic'))}
                  spids: [48804]
                )
              ]
              spids: [48804]
            )
            (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: [48829]
                                    )
                                  ]
                                  spids: [48829]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:rmforce)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [48837]
                                )
                              ]
                              spids: [48837]
                            )
                          ]
                          spids: [48826 48827 48840 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: [48847]
                                )
                              ]
                              spids: [48847]
                            )
                          ]
                          spids: [48843 48845 48854 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: [48860]
                                )
                              ]
                              spids: [48860]
                            )
                          ]
                          spids: [48857 48858 48867 16777215]
                        )
                      ]
                      spids: [48819 48823 48870]
                    )
                  ]
                  spids: [48816 48873]
                )
              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: [48897]
                )
              ]
              spids: [48897]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:origobjdir)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$objdir'))}
                  spids: [48901]
                )
              ]
              spids: [48901]
            )
            (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: [48933]
                        )
                      ]
                      spids: [48933]
                    )
                    (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: [48956]
                                )
                              ]
                              spids: [48956]
                            )
                          ]
                          spids: [16777215 48953]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:objdir)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$dir') (/) ($ VSub_Name '$origobjdir'))}
                              spids: [48965]
                            )
                          ]
                          spids: [48965]
                        )
                      ]
                      spids: [48962 48973]
                    )
                    (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: [48983]
                        )
                      ]
                      spids: [48983]
                    )
                    (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: [49001]
                            )
                          ]
                          spids: [49001]
                        )
                      ]
                    )
                    (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: [49039 49046 49048 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: [49054]
                                        )
                                      ]
                                      spids: [49054]
                                    )
                                  ]
                                  spids: [49051 49052 49061 16777215]
                                )
                              ]
                              spids: [49028 49036 49064]
                            )
                          ]
                          spids: [16777215 49025]
                        )
                      ]
                      spids: [16777215 49067]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DPipe Op_DPipe]
                                  children: [
                                    (BraceGroup
                                      children: [
                                        (Sentence
                                          child: (C {(test)} {(-L)} {(DQ ($ VSub_Name '$file'))})
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: 16777215
                                          arg_word: {(/dev/null)}
                                          spids: [49090]
                                        )
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: 2
                                          arg_word: {(1)}
                                          spids: [49093]
                                        )
                                      ]
                                      spids: [49077]
                                    )
                                    (BraceGroup
                                      children: [
                                        (Sentence
                                          child: (C {(test)} {(-h)} {(DQ ($ VSub_Name '$file'))})
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: 16777215
                                          arg_word: {(/dev/null)}
                                          spids: [49112]
                                        )
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: 2
                                          arg_word: {(1)}
                                          spids: [49115]
                                        )
                                      ]
                                      spids: [49099]
                                    )
                                    (C {(test)} {(-f)} {(DQ ($ VSub_Name '$file'))})
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Lit_Other ':')})]
                          spids: [16777215 49130]
                        )
                        (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: [49150]
                                )
                              ]
                              spids: [49150]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [49136 49147]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$rmforce'))} {(Lit_Other '=')} {(yes)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [49157 49170]
                        )
                      ]
                      spids: [16777215 49176]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rmfiles)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$file'))}
                          spids: [49180]
                        )
                      ]
                      spids: [49180]
                    )
                    (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: [49239]
                                                )
                                              ]
                                              spids: [49239]
                                            )
                                          ]
                                          spids: [49236 49249]
                                        )
                                      spids: [49232 49234]
                                    )
                                    (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: [49262]
                                            )
                                          ]
                                          spids: [49262]
                                        )
                                      ]
                                    )
                                    (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: [49301 49308 49310 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: [49316]
                                                        )
                                                      ]
                                                      spids: [49316]
                                                    )
                                                  ]
                                                  spids: [49313 49314 49325 16777215]
                                                )
                                              ]
                                              spids: [49286 49294 49328]
                                            )
                                            (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: [49341]
                                                    )
                                                  ]
                                                  spids: [49341]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [49282 49283 49358 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 49376]
                                                )
                                              ]
                                              spids: [16777215 49394]
                                            )
                                            (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 49409]
                                                )
                                              ]
                                              spids: [16777215 49427]
                                            )
                                          ]
                                          spids: [49361 49362 49434 16777215]
                                        )
                                      ]
                                      spids: [49273 49279 49437]
                                    )
                                  ]
                                  spids: [16777215 49212]
                                )
                              ]
                              spids: [16777215 49440]
                            )
                          ]
                          spids: [49194 49196 49443 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: [49513]
                                                )
                                              ]
                                              spids: [49513]
                                            )
                                          ]
                                          spids: [16777215 49510]
                                        )
                                      ]
                                      spids: [16777215 49523]
                                    )
                                    (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: [49559]
                                                )
                                              ]
                                              spids: [49559]
                                            )
                                          ]
                                          spids: [16777215 49556]
                                        )
                                      ]
                                      spids: [16777215 49569]
                                    )
                                  ]
                                  spids: [16777215 49465]
                                )
                              ]
                              spids: [16777215 49572]
                            )
                          ]
                          spids: [49447 49449 49575 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: [49600]
                                        )
                                      ]
                                      spids: [49600]
                                    )
                                    (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: [49630]
                                                )
                                              ]
                                              spids: [49630]
                                            )
                                            (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: [49648]
                                                )
                                              ]
                                              spids: [49648]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:rmfiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$rmfiles') (' ') 
                                                        ($ VSub_Name '$file')
                                                      )
                                                    }
                                                  spids: [49660]
                                                )
                                              ]
                                              spids: [49660]
                                            )
                                          ]
                                          spids: [49611 49613 49668 16777215]
                                        )
                                      ]
                                      spids: [49604 49608 49671]
                                    )
                                    (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: [49709]
                                                        )
                                                      ]
                                                      spids: [49709]
                                                    )
                                                    (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: [49717]
                                                        )
                                                      ]
                                                      spids: [49717]
                                                    )
                                                  ]
                                                  spids: [16777215 49699]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:relink_command)
                                                      op: Equal
                                                      rhs: {(EmptyPart)}
                                                      spids: [49728]
                                                    )
                                                  ]
                                                  spids: [49728]
                                                )
                                                (C {(func_source)} 
                                                  {($ VSub_Name '$dir') (/) 
                                                    ($ VSub_Name '$noexename')
                                                  }
                                                )
                                              ]
                                              spids: [49725 49738]
                                            )
                                            (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: [49750]
                                                )
                                              ]
                                              spids: [49750]
                                            )
                                            (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: [49796]
                                                        )
                                                      ]
                                                      spids: [49796]
                                                    )
                                                  ]
                                                  spids: [16777215 49793]
                                                )
                                              ]
                                              spids: [16777215 49806]
                                            )
                                            (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: [49831]
                                                        )
                                                      ]
                                                      spids: [49831]
                                                    )
                                                  ]
                                                  spids: [16777215 49828]
                                                )
                                              ]
                                              spids: [16777215 49844]
                                            )
                                          ]
                                          spids: [16777215 49687]
                                        )
                                      ]
                                      spids: [16777215 49847]
                                    )
                                  ]
                                  spids: [16777215 49597]
                                )
                              ]
                              spids: [16777215 49850]
                            )
                          ]
                          spids: [49579 49580 49853 16777215]
                        )
                      ]
                      spids: [49187 49191 49856]
                    )
                    (C {(func_show_eval)} {(DQ ($ VSub_Name '$RM') (' ') ($ VSub_Name '$rmfiles'))} 
                      {(SQ <'exit_status=1'>)}
                    )
                  ]
                  spids: [48916 49872]
                )
              spids: [48912 48914]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:objdir)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$origobjdir'))}
                  spids: [49875]
                )
              ]
              spids: [49875]
            )
            (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 49909]
                        )
                      ]
                      spids: [16777215 49921]
                    )
                  ]
                  spids: [49895 49924]
                )
              spids: [49891 49893]
            )
            (ControlFlow
              token: <ControlFlow_Exit exit>
              arg_word: {($ VSub_Name '$exit_status')}
            )
          ]
          spids: [48773]
        )
      spids: [48768 48772]
    )
    (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: [49935]
        )
        (C {(func_mode_uninstall)} 
          {
            (BracedVarSub
              token: <VSub_Number 1>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
              spids: [49967 49973]
            )
          }
        )
      ]
    )
    (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: [49989]
                )
              ]
              spids: [49989]
            )
            (C {(func_fatal_help)} {(DQ ('you must specify a MODE'))})
          ]
          spids: [49986]
        )
      ]
    )
    (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 50037]
        )
      ]
      spids: [16777215 50053]
    )
    (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:[50096])]
      spids: [50096]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:build_old_libs) op:Equal rhs:{(yes)} spids:[50099])]
      spids: [50099]
    )
    (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: [50117 50118 50123 16777215]
                          )
                          (case_arm
                            pat_list: [{(Lit_Other '*')}]
                            action: [(C {(echo)} {(yes)})]
                            spids: [50125 50126 50131 16777215]
                          )
                        ]
                        spids: [50111 50115 50133]
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [50110 50134]
              )
            }
          spids: [50109]
        )
      ]
      spids: [50109]
    )
  ]
)